TCP/IP WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web n Idéia básica do WWW: èEstratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada) HISTÓRICO n Início em 1989 - CERN: èSuporte ao trabalho cooperativo de físicos n Público em 1991(Hypertext Conference) n Mosaic (Browser do NCSA - National Center for Supercomputing Applications) em 1993 n Consórcio WWW (MIT + NCSA) em 1994: èW3 Consortium - http://www.w3.org n Netscape em 1995 (Browser à partir do Mosaic) WWW Cap. 9.2 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.1 TCP/IP WWW - Visão Técnica n Aplicação Cliente/ Servidor èCliente ----> Browser èServidor HTTP/ Servidor WWW WWW Cap. 9.3 WWW - Princípio de Operação SERVIDOR/ WEB Site Browser Servidor WWW HTTP CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java + ... CGI, Servlets, Scripts, ... Proc. Gateway Interações Específicas (BD, ...) WWW Cap. 9.4 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.2 TCP/IP WWW - Visão do Cliente (Usuário) n WEB = Coleção de documentos (Páginas) n Página: èTexto, hyperlinks, barras de menus, tabelas, ... èHipertexto: ü Páginas com links para outras páginas n Navegação: èClicando um link (texto, ícone, figura, ...) obtém-se um novo documento èProcesso repetitivo via browser WWW Cap. 9.5 WWW - Visão do Cliente (Usuário) n Browser: è Programa de recuperação e visualização de documentos páginas WEB èExibição de páginas: üTexto, gráficos, áudio, vídeo, ... ----> hipermídia üAciona, eventualmente, programas auxiliares: external viewer, helper application, ... èControles auxiliares de navegação n Netscape, Explorer, Mosaic, ... n Tendência dos browsers: èInterfaces universais èAplicativos integrados e/ou Desktop Tools WWW Cap. 9.6 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.3 TCP/IP Recursos Básicos na WEB WWW Cap. 9.7 Tecnologias, Aplicações e Padronização WEB-TCP/IP Recursos Básicos SERVIDOR/ WEB Site Browser Servidor WWW HTTP CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java + ... CGI, Servlets, Scripts, ... Proc. Gateway Interações Específicas (BD, ...) WWW Cap. 9.8 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.4 TCP/IP Recursos Básicos n Protocolo HTTP e Servidor n Web site e Serviço Web n Linguagem HTML n Outros recursos WWW Cap. 9.9 Protocolo HTTP WWW Cap. 9.10 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.5 TCP/IP Protocolo HTTP HyperText Transfer Protocol n HTTP/ 1.0 - Versão básica n HTTP/ 1.1 - Versão em desenvolvimento n HTTP - NG (New Generation) - Tentativa de versão (abandonada) WWW Cap. 9.11 Serviço Web n HTTP (RFC 2068): èProtocolo de transferência de arquivos èSem estado (não mantém sessão aberta) Máquina www.xyz.com Requisição: GET /index.html HTTP/1.1 ... Cliente HTTP (browser) Resposta: HTTP/1.1 200 OK ... Porta de Serviço: 80 Abre conexão para www.xyz.com:80 Servidor HTTP / Fecha conexão index.html Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.6 TCP/IP WWW - Servidor n Servidor WWW: èPlataforma de armazenamento e entrega (delivering) de páginas n Operação: è TCP - porta 80 è Protocolo HTTP (HyperText Transfer Protocol) para “conversar” com clientes (browsers) WWW Cap. 9.13 WWW - Servidor Sequência Básica de Operação SERVIDOR Abre conexão Browser Pedido (request) HTTP Resposta (response) HTTP CLIENTE Servidor WWW Fecha conexão n Ícones, imagens, fotos, ... numa mesma página são carregados em conexões distintas: è Pouco eficiente, mas simples WWW Cap. 9.14 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.7 TCP/IP HTTP - HyperText Transfer Protocol n Protocolo ASCII (como o SMTP) n Resumo da transferência HTTP: è Pedido HTTP em ASCII (do cliente) è Resposta HTTP em MIME-like (RFC 822) do servidor n Pedido HTTP: è MÉTODO (de acesso) + parâmetros (correspondentes ao método) è Princípio de orientação à objeto WWW Cap. 9.15 HTTP - HyperText Transfer Protocol n Métodos HTTP: Método GET HEAD PUT POST DELETE LINK UNLINK Descrição Solicitação de página Solicitação de cabeçalho de página Solicitação de armazenamento de página Acrescenta (append) a um recurso Remove página Conecta dois recursos Elimina conexão entre dois recursos WWW Cap. 9.16 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.8 TCP/IP HTTP - HyperText Transfer Protocol Exemplo PEDIDO RESPOSTA GET /joberto/itelcon.html HTTP/1.0 HTTP/1.0 200 Document follows MIME-Version:1.0 ------------Página HTML Content-type:text/html codificada em Content-lenght:9327 MIME ----------- WWW Cap. 9.17 Serviço Web WWW Cap. 9.18 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.9 TCP/IP Sites estáticos: apresentação nBaseados apenas em hipertexto (navegação através de páginas, apenas) nO único evento de navegação disponível é a seleção de vínculos de hipertexto nA boa interação com o usuário depende inteiramente da organização adequada do texto, imagens em cada página e da organização geral de todo o sistema. nNão é possível realizar cálculos, responder a outros eventos ou alterar o conteúdo da página dinamicamente. WWW Cap. 9.19 Sites dinâmicos: interatividade n Utilizam tecnologias adicionais que permitem a realização de cálculos, geração de informação dinâmica, tratamento de eventos e outros recursos n Baseados em tecnologias que estendem o servidor ou o cliente èExtensões do cliente: JavaScript, Applets, DHTML èExtensões do servidor: ASP, JSP, servlets, ISAPI WWW Cap. 9.20 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.10 TCP/IP Browser e Servidor n Browser básico: pede páginas ao servidor via HTTP e interpreta GIF, JPEG, PNG e HTML, trata eventos de hipertexto n Browser moderno: pode rodar subprogramas (applets, ActiveX, plugins), usar outros protocolos, exibir outros formatos, tratar outros eventos n Servidor básico: atende pedidos de browser via HTTP, localiza recurso pedido e o devolve (mesmo que seja um programa) n Servidor moderno: pode ler páginas HTML como programas, executar programas, interpretar comandos embutidos em páginas WWW Cap. 9.21 Tecnologias chave n De Apresentação èHTML, CSS n De Interatividade cliente èJavaScript, Applets Java, plug-ins n De Interatividade servidor èCGI èAPIs do servidor: ISAPI, NSAPI,Servlet API èScripts do servidor: ASP, JSP, PHP, Cold Fusion, SSJS, Livewire, ... WWW Cap. 9.22 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.11 TCP/IP Tecnologias de Apresentação WWW Cap. 9.23 Linguagem WEB HTML - HyperText Markup Language n O que vem a ser o HTML: è HTML é uma linguagem aberta de formatação de documentos/ páginas hipertexto baseada no SGML (Standard Generalized Markup Language) (ISO 8879) èDocumentos hipertexto possuem links (ponteiros) para outros documentos juntamente com textos, imagens, tabelas, ... è O HTML se preocupa com a formatação da página independentemente do ambiente operacional onde a página será exibida (computador + programa de exibição - browser) èBasicamente utiliza-se TAGs para definir a formatação WWW Cap. 9.24 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.12 TCP/IP Tecnologias, Aplicações e Padronização WEB-TCP/IP Recursos Básicos SERVIDOR/ WEB Site Browser Servidor WWW HTTP CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java + ... CGI, Servlets, Scripts, ... Proc. Gateway Interações Específicas (BD, ...) WWW Cap. 9.25 Um Documento HTML Típico Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.13 TCP/IP O Código HTML do Documento Obviamente de difícil leitura !!!! <html> <head> <title>Exemplo - Página WEB - Palestra Comércio Eletrônico</title> </head> <body> <p><img src="itc2.gif" width="338" height="159" alt=”Logomarca ITELCON"></p> <p>EXEMPLO DE PÁGINA WEB PARA A PALESTRA DE COMÉRCIO ELETRÔNICO</p> n </body> n </html> n n n n n n n WWW Cap. 9.27 HTML - HyperText Markup Language n Define a interface do usuário na Web n Pode ser usada para: èDefinir a estrutura do texto de uma página (que o browser posteriormente formatará com uma folha de estilos) èIncluir imagens numa página èIncluir vínculos a outras páginas èConstruir uma interface com formulários para envio de dados ao servidor èServir de base para aplicações rodarem dentro do browser (applets Java, plug-ins, vídeos, etc.) WWW Cap. 9.28 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.14 TCP/IP HTML 2.0 ---> 3.2 ---> 4.0 ----> .... Evolução n HTML 2.0 (RFC 1866) n HTML 4.0 - Novas facilidades em relação às versões anteriores (2 e 3.2): èNovas opções de objetos multimídia: som, imagens, matemática, ... èTabelas mais flexíveis: grupo de colunas, visualização, ... èFormulários mais flexíveis: senhas, agrupamento semântico de controles, rótulos ativos, ... èFolhas de estilo (style sheets) è... WWW Cap. 9.29 HTML n HTML 4.0 (HyperText Markup Language) èColeção de marcadores (SGML) usados para formatar texto: <H2>Cabeçalho de Nível 2</H2> <P>Primeiro parágrafo</P> èNada diz sobre aparência (browser é quem decide). Define apenas estrutura e conteúdo. n CSS 2.0 (Cascading Style Sheets) èLista de regras de apresentação para uma página ou todo um site (linguagem declarativa) èDepende da estrutura do HTML. Define forma. n Padrões W3C (http://www.w3.org) WWW Cap. 9.30 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.15 TCP/IP HTML - HyperText Markup Language Versões e Tecnologias Relacionadas n HTML: èHTML 4.0 - Recomendação Abril/98 n CSS - Cascading Style Sheets n DHTML - Dynamic HTML (Iniciativa proprietária) n XML - Extensible Markup Language n VRML - Virtual Reality Modeling Language: èRealidade virtual WWW Cap. 9.31 Joberto Martins - [email protected] Home Page: www.jsmnet.com WWW - World Wide WEB – Cap 9.16