WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web 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 Início em 1989 - CERN: Suporte ao trabalho cooperativo de físicos Público em 1991(Hypertext Conference) Mosaic (Browser do NCSA - National Center for Supercomputing Applications) em 1993 Consórcio WWW (MIT + NCSA) em 1994: W3 Consortium - http://www.w3.org Netscape em 1995 (Browser à partir do Mosaic) WWW Cap. 9.2
WWW - Visão Técnica Aplicação Cliente/ Servidor Cliente ----> Browser Servidor HTTP/ Servidor WWW WWW Cap. 9.3 WWW - Princípio de Operação SERVIDOR/ WEB Site CGI, Servlets, Scripts,... Browser HTTP Servidor WWW Proc. Gateway CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java +... Interações Específicas (BD,...) WWW Cap. 9.4
WWW - Visão do Cliente (Usuário) WEB = Coleção de documentos (Páginas) Página: Texto, hyperlinks, barras de menus, tabelas,... Hipertexto: Páginas com links para outras páginas 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) 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 Netscape, Explorer, Mosaic,... Tendência dos browsers: Interfaces universais Aplicativos integrados e/ou Desktop Tools WWW Cap. 9.6
Recursos Básicos na WEB WWW Cap. 9.7 Tecnologias, Aplicações e Padronização WEB-TCP/IP Recursos Básicos SERVIDOR/ WEB Site CGI, Servlets, Scripts,... Browser HTTP Servidor WWW Proc. Gateway CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java +... Interações Específicas (BD,...) WWW Cap. 9.8
Recursos Básicos Protocolo HTTP e Servidor Web site e Serviço Web Linguagem HTML Outros recursos WWW Cap. 9.9 Protocolo HTTP WWW Cap. 9.10
Protocolo HTTP HyperText Transfer Protocol HTTP/ 1.0 - Versão básica HTTP/ 1.1 - Versão em desenvolvimento HTTP - NG (New Generation) - Tentativa de versão (abandonada) WWW Cap. 9.11 Serviço Web HTTP (RFC 2068): Protocolo de transferência de arquivos Sem estado (não mantém sessão aberta) Abre conexão para www.xyz.com:80 Máquina www.xyz.com Cliente HTTP (browser) Requisição: GET /index.html HTTP/1.1... Resposta: HTTP/1.1 200 OK... Porta de Serviço: 80 Servidor HTTP / Fecha conexão index.html
WWW - Servidor Servidor WWW: Plataforma de armazenamento e entrega (delivering) de páginas 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 Browser Abre conexão Pedido (request) HTTP Resposta (response) HTTP Servidor WWW CLIENTE Fecha conexão Ícones, imagens, fotos,... numa mesma página são carregados em conexões distintas: Pouco eficiente, mas simples WWW Cap. 9.14
HTTP - HyperText Transfer Protocol Protocolo ASCII (como o SMTP) Resumo da transferência HTTP: Pedido HTTP em ASCII (do cliente) Resposta HTTP em MIME-like (RFC 822) do servidor Pedido HTTP: MÉTODO (de acesso) + parâmetros (correspondentes ao método) Princípio de orientação à objeto WWW Cap. 9.15 Métodos HTTP: HTTP - HyperText Transfer Protocol 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
HTTP - HyperText Transfer Protocol Exemplo PEDIDO GET /joberto/itelcon.html HTTP/1.0 RESPOSTA HTTP/1.0 200 Document follows MIME-Version:1.0 ------- ------- Content-type:text/html Content-lenght:9327 ------ ------ Página HTML codificada em MIME WWW Cap. 9.17 Serviço Web WWW Cap. 9.18
Sites estáticos: apresentação Baseados apenas em hipertexto (navegação através de páginas, apenas) O único evento de navegação disponível é a seleção de vínculos de hipertexto A 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. Nã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 Utilizam tecnologias adicionais que permitem a realização de cálculos, geração de informação dinâmica, tratamento de eventos e outros recursos 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
Browser e Servidor Browser básico: pede páginas ao servidor via HTTP e interpreta GIF, JPEG, PNG e HTML, trata eventos de hipertexto Browser moderno: pode rodar subprogramas (applets, ActiveX, plugins), usar outros protocolos, exibir outros formatos, tratar outros eventos Servidor básico: atende pedidos de browser via HTTP, localiza recurso pedido e o devolve (mesmo que seja um programa) Servidor moderno: pode ler páginas HTML como programas, executar programas, interpretar comandos embutidos em páginas WWW Cap. 9.21 Tecnologias chave De Apresentação HTML, CSS De Interatividade cliente JavaScript, Applets Java, plug-ins 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
Tecnologias de Apresentação WWW Cap. 9.23 Linguagem WEB HTML - HyperText Markup Language 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
Tecnologias, Aplicações e Padronização WEB-TCP/IP Recursos Básicos SERVIDOR/ WEB Site CGI, Servlets, Scripts,... Browser HTTP Servidor WWW Proc. Gateway CLIENTE/ Aplicação WEB Página HTML + Style Sheets + Java +... Interações Específicas (BD,...) WWW Cap. 9.25 Um Documento HTML Típico
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> </body> </html> WWW Cap. 9.27 HTML - HyperText Markup Language Define a interface do usuário na Web 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
HTML 2.0 ---> 3.2 ---> 4.0 ---->... Evolução HTML 2.0 (RFC 1866) 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 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. 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. Padrões W3C (http://www.w3.org) WWW Cap. 9.30
HTML - HyperText Markup Language Versões e Tecnologias Relacionadas HTML: HTML 4.0 - Recomendação Abril/98 CSS - Cascading Style Sheets DHTML - Dynamic HTML (Iniciativa proprietária) XML - Extensible Markup Language VRML - Virtual Reality Modeling Language: Realidade virtual WWW Cap. 9.31