Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
aaaa xxx April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Modulo I Internet Computing Prof. Ismael H F Santos Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Ementa Modulo VII – Programação Web com Java Internet Networking Arquitetura da World Wilde Web - WWW URI e URL Protocolo HTTP Tecnologias do lado do Cliente Tecnologias do lado do Servidor Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Bibliografia Linguagem de Programação JAVA Ismael H. F. Santos, Apostila UniverCidade, 2002 The Java Tutorial: A practical guide for programmers Tutorial on-line: http://java.sun.com/docs/books/tutorial Java in a Nutshell David Flanagan, O´Reilly & Associates Just Java 2 Mark C. Chan, Steven W. Griffith e Anthony F. Iasi, Makron Books. Java 1.2 Laura Lemay & Rogers Cadenhead, Editora Campos Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA Internet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * A typical portion of the Internet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * A typical intranet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Portable and handheld devices in a distributed system Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Network types Range Bandwidth (Mbps) Latency (ms) LAN 1-2 kms 10-1000 1-10 WAN worldwide 0.010-600 100-500 MAN 2-50 kms 1-150 10 Wireless LAN 0.15-1.5 km 2-11 5-20 Wireless WAN worldwide 0.010-2 100-500 Internet worldwide 0.010-2 100-500 Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Web servers and web browsers Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Computers in the Internet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Computers vs. Web servers in the Internet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA Networking Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Conceptual layering of protocol software Layer n Layer 2 Layer 1 Message sent Message received Communication medium Sender Recipient Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Encapsulation as it is applied in layered protocols Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Protocol layers in the ISO Open Systems Interconnection (OSI) model Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * OSI protocol summary Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Internetwork layers Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Routing in a wide area network Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Routing tables for the later network Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Pseudo-code for RIP routing algorithm Send: Each t seconds or when Tl changes, send Tl on each non-faulty outgoing link. Receive: Whenever a routing table Tr is received on link n: for all rows Rr in Tr { if (Rr.link | n) { Rr.cost = Rr.cost + 1; Rr.link = n; if (Rr.destination is not in Tl) add Rr to Tl; // add new destination to Tl else for all rows Rl in Tl { if (Rr.destination = Rl.destination and (Rr.cost < Rl.cost or Rl.link = n)) Rl = Rr; // Rr.cost < Rl.cost : remote node has better route // Rl.link = n : remote node is more authoritative } } } Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Simplified view of the QMW Computer Science network Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Arquitetura TCP/IP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * The TCP/IP Protocol Layers Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Arquitetura TCP/IP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * TCP/IP layers Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Encapsulation in a message transmitted via TCP over an Ethernet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * The programmer's conceptual view of a TCP/IP Internet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Internet address structure, showing field sizes in bits Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Decimal representation of Internet addresses Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * IP packet layout IPv6 header layout Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Tunnelling for IPv6 migration Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * An Ethernet Packet Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Design Strategies The communication network is partitioned into the following multiple layers Physical layer – handles the mechanical and electrical details of the physical transmission of a bit stream. Data-link layer – handles the frames, or fixed-length parts of packets, including any error detection and recovery that occurred in the physical layer. Network layer – provides connections and routes packets in the communication network, including handling the address of outgoing packets, decoding the address of incoming packets, and maintaining routing information for proper response to changing load levels. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Design Strategies (Cont.) Transport layer – responsible for low-level network access and for message transfer between clients, including partitioning messages into packets, maintaining packet order, controlling flow, and generating physical addresses. Session layer – implements sessions, or process-to-process communications protocols. Presentation layer – resolves the differences in formats among the various sites in the network, including character conversions, and half duplex/full duplex (echoing). Application layer – interacts directly with the users’ deals with file transfer, remote-login protocols and electronic mail, as well as schemas for distributed databases. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Firewall configurations Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * IEEE 802 network standards Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Wireless LAN configuration Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA Arquitetura WWW Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Arquitetura WWW Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Arquitetura WWW Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * A Arquitetura WWW (cont) Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Clientes WWW Browsers exibem e permitem a navegação através de documentos exemplos Netscape Navigator Internet Explorer Amaya HotJava NCSA Mosaic Lynx Máquinas de busca Qualquer programa utilizando os serviços oferecidos por um servidor Web Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Servidores WWW Não necessitam ser dedicados Exemplos Apache Internet Information Server (IIS) Netscape Enterprise Server NCSA httpd Jigsaw Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Conteúdo Estático x Conteúdo Dinâmico Conteúdo estático ausência de um processamento adicional para entregar/exibir o documento principal interação é pela navegação através de hiper-links Conteúdo dinâmico inclusão de processamento adicional além da pura entrega de documentos e interpretação das marcações HTML Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Porque Conteúdo Dinâmico ? Permitir que sistemas de informação aproveitem a infra-estrutura oferecida pela Web simplicidade e portabilidade (em alguns casos) para os projetistas infra-estrutura de distribuição para o projetista simplicidade para o usuário final browser como desktop Aplicações home banking, comércio eletrônico, bibliotecas digitais, máquinas de busca, etc. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA URI / URL Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Universal Resource Identifier (URI) Como identificar os recursos (documentos)? URL (Uniform Resource Locator) Como recuperar um documento? HTTP (Hypertext Transfer Protocol) Como definir o formato do conteúdo dos documentos? HTML (Hypertext Markup Language) Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Sintaxe de URIs RFC 1630: descreve a notação de URIs em um nível sintático Separação em duas partes URI = scheme “:” scheme-specific-part Esquema identifica o esquema de definição dos nomes (naming scheme) IANA (Internet Assigned Numbers Authority) uma lista dos esquemas e referências para suas definições Parte específica ao esquema identificação propriamente dita de um objeto particular para um dado esquema inteiramente dependente do esquema sendo utilizado Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * URL e URN URI = scheme “:” scheme-specific-part URL – Uniform Resource Locator Identificação e localização de recursos através de endereços URN – Uniform Resource Name Identificação e localização de recursos através de nomes Definem as semânticas para URIs Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * URL Sintaxe para parte específica do esquema Principais esquemas URL registrados (IANA) file ldap prospero ftp mailto telnet http news wais https nntp Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * URL para esquema HTTP URI engloba URL e URN Exemplos de URL (esquema HTTP) http://www.dimap.ufrn.br:80/~sbmidia2000/ http://www.telemidia.puc-rio.br/index.html http://www.altavista.com/cgi-bin/query?q=client%2Fserver http://139.82.95.14/index.html Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * HTTP – Hypertext Transfer Protocol Objetivo original capacidade de recuperar, de um servidor, documentos simples baseados na mídia texto protocolo leve e rápido Baseado em um modelo simples de arquitetura clienteservidor pedido/resposta protocolo sem estado Utiliza um serviço de transporte confiável, orientado a conexão (TCP) Protocolo mais utilizado na Internet, na atualidade Versões: HTTP/0.9, HTTP/1.0 e HTTP/1.1 Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Mensagens HTTP/0.9 Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * HTTP/1.0 – maio/96 (RFC 1945) Permitiu ao servidor responder códigos de erro e informações sobre a entidade, por exemplo, o tipo de conteúdo. Definiu o conceito de tipo de mídia MIME – Multipurpose Internet Mail Extensions, como padrão para identificação de conteudo. MIME possui arquitetura aberta permitindo a uma aplicação incorporar suporte a novos tipos de dados Formato flexível de mensagem. O cliente passou a poder enviar dados ao servidor. Mecanismos de autenticação. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Alguns MIME Types Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Tipos MIME text/plain - arquivo no formato texto (ASCII); text/html - dosumento no formato HTML, o padrão para documentos Web; application/zip - arquivo compactado; image/gif - imagem codificada no formato GIF; image/jpeg - imagem codificada no formato JPEG. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Mensagens HTTP/1.0 Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Cabeçalhos HTTP/1.0 General (requisição e resposta) não se aplicam a entidades Entity (requisição e resposta) usados para transmitir meta-informações de uma entidade Request (requisição) contêm informações do cliente Response (resposta) contêm informações que não podem ser transmitidas na status-line Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Modificações HTTP/1.1 Melhora no modelo de conexão TCP por requisição/resposta HTTP persistente (P-HTTP) Mantém uma conexão aberta durante várias requisições para um mesmo servidor novos métodos de requisição CONNECT, OPTIONS e TRACE melhor suporte para cache esquema mais seguro de autenticação elimna a transferência de nome e senha de forma limpa suporte à transferência parcial de entidades suporte à negociação de conteúdo Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Métodos de Requisição em HTTP/1.1 Cabeçalhos Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Cabeçalhos HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Mensagens HTTP/1.1 Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * HTTP request message Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Métodos de Requisição em HTTP/1.1 Métodos GET - retorna o objeto, ou seja, a informação requisitada. HEAD - retorna somente informações sobre o objeto, como tamanho, data de criação etc. POST - envia informações para o servidor Web PUT - envia uma cópia de um objeto/informação para ser armazenado num servidor Web. DELETE - apaga um objeto armazenado no servidor Web. OPTIONS CONNECT TRACE Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Pedido HTTP completo Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Resposta HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Resposta HTTP Uma resposta HTTP é formada por três elementos: Linha de status indicando sucesso ou falha do pedido. Descrição da informação contida na resposta (Metainformação/MIME). A própria informação que foi requisitada. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * HTTP – Códigos de Retorno A linha de status traz as seguintes informações: A versão do protocolo HTTP; O código de status que define o resultado do pedido; Uma pequena frase explicando o que significa o código. Código status é compostos de 3 dígitos, divididos em categorias em função do primeiro dígito 1xx – informativo 2xx – sucesso 3xx – redireção 4xx – erro do cliente 5xx – erro do servidor Podem ser estendidos Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Resposta HTTP - Status Os principais códigos de status existentes: 200 (Document follows) - pedido bem sucedido. A informação requisitada será retornada. 401 (Unautorized) - a informação requisitada é de acesso restrito, sendo necessário se autenticar. 403 (Forbidden) - acesso proibido. 404 (Not found) - a informação requisitada não foi encontrada ou teve permissão de acesso negada. A primeira opção é muito freqüente na Internet e pode ocorrer por erro de digitação de uma URL. 500 (Server Error) - erro no servidor Web. Comum quando da execução de scripts. Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * HTTP reply message Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Resposta HTTp Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Proxy Motivação Cache redução de carga no servidor e do trafego na conexão com a Internet redução do tempo de resposta para os usuários Segurança filtragem de requisições conversão de protocolos Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Proxy – Cenários de uso Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Criticas HTTP Sem estado requisições em paralelo numa mesma conexão precisam ser enfileiradas Implementação integral complexa Fundamentado no TCP como protocolo de transporte Requisições em um único sentido Ausência de um padrão para definição de extensões Mecanismo de negociação de conteúdo ainda restrito Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Cliente e servidor HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Principais métodos HTTP (requisição) Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Comunicação HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * SOA Tecnologias no lado do Cliente Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Plug-ins Tecnologia originalmente projetada pela Netscape Netscape Navigator 2.0 Internet Explorer 3.0 passou também a oferecer suporte Permite também que aplicações existentes sejam facilmente integradas à Web Principal utilidade: exibir conteúdo cujo formato não é tratado pelo browser conteúdos específicos das aplicações (PDF, PostScript, etc), áudio, vídeo Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Plug-ins Módulo de código separado que se comporta como se fosse parte do browser associado a um ou mais tipos de mídia (tipo MIME) biblioteca de código nativo C específico a uma plataforma (sistema operacional) dependente da interface de programação do browser Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Inserindo plug-ins em páginas HTML Elementos HTML utilizados para inserção de plug-ins OBJECT quando o browser não sabe tratar a especificação, o conteúdo do elemento deve ser apresentado Objects podem ser aninhados <object data=“clock.avi” type=“video/msvideo” height=“100%” width=“100%” classid=“http://microsoft.com/plugins/” > < object data=“clock.gif” type=“image/gif”> <p>Hora certa. </object> </object> Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Inserindo plug-ins em páginas HTML Elementos HTML utilizados para inserção de plug-ins EMBED (não faz parte da especificação HTML 4.01) elemento não mais padronizado na DTD HTML embed src=“clock.avi” type=“video/msvideo” width=“100%” height=“100%”> Modos de exibição de um plug-in Embutido, escondido ou página inteira Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Modelo de Execução de Plug-ins Plug-ins executam no mesmo espaço de memória do browser DLLs, objetos compartilhados, bibliotecas compartilhadas, etc. Ciclo de vida de um plug-in está associado ao ciclo de vida da página que o aciona Quando o browser encontra em uma página uma referência (URI) para um arquivo que está associado a um Plug-in browser carrega o código do plug-in na memória (se ainda não otiver feito) cria uma nova instância do plug-in (o browser pode criar várias instâncias de um mesmo plug-in simultaneamente) Quando o browser sai da página que contém a referência para o plug-in ou tem sua janela fechada, a instância do plug-in é removida da memória quando a última instância de um plug-in é removida, o código do plug-in é retirado da memória Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Modelo de Execução de Plug-ins Quando um plug-in não está carregado em memória, o mesmo só ocupa espaço em disco Plug-ins são dependentes de plataforma e browser e não permitem interagir diretamente com o conteúdo HTML para por exemplo: substituir imagens (simular animações) simular menus de opções mudar características de apresentação do documento de acordo com a interação do usuário acrescentar conteúdo dinamicamente Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Scripts Usados para adicionar funcionalidades dinâmicas a páginas HTML estáticas. Página HTML carrega (de forma embutida ou através de uma referência) scripts que são executados pelo browser alterar a especificação de apresentação dos elementos acrescentar conteúdo dinamicamente ao documento verificar a entrada de dados em um formulário controlar o browser Principais linguagens de script utilizadas Tcl, JavaScript (inicialmente chamado de LiveScript) - Netscape Jscript e VBScript - Microsoft Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Scripts Padrão para linguagens de script interpretadas no cliente ECMAScript ( European Computer Manufactors Associations Script) padrão de junho de 1997, JavaScript e JScript são implementações Por que Linguagens de Script? Interpretadas (não exigem compilação) oferecendo independência de plataforma Simples de programar, sendo mais adequadas para usuários não experts em programação. Ideais para tarefas simples Desvantagens Ineficiência e recursos limitados por isso são indicadas para tarefas simples Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Scripts Para executar os scripts , o cliente WWW ( browser) precisa de um interpretador da linguagem de script utilizada no documento Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Scripts Pode aparecer várias vezes, tanto no Head como no Body do documento HTML. Fica a cargo de cada linguagem de script oferecer uma sintaxe para referenciar elementos HTML no documento <p>Última atualização feita em: <script type=“text/javascript”> <!-- evita que browsers que document.write(document.lastModified); não dão suporte a scripts --> exibam o conteúdo do </script> script na tela ! Informa a data da última modificação do documento Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Scripts Exemplo de Script Associado a Eventos HTML <form> <input type=“button” value=“Aperte!” onclick=“alert(‘Clicou no botão!’)”> </form> Os eventos intrínsecos normalmente são utilizados em conjunto com funções declaradas na área de SCRIPT Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * POO-Java Tecnologias no lado do Servidor Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Servidores WWW Primeiros servidores HTTP simples traduziam o nome do recurso requisitado em um arquivo, enviando o conteúdo do arquivo como resposta Diversos fatores tornaram complexa a configuração apropriada e a gerência eficiente de servidores HTTP servidores hospedando uma quantidade grande de documentos aumento na complexidade do protocolo HTTP Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Servidores WWW Fazem o mapeamento entre URL-path e o recurso local http://www.inf.puc-rio.br/index.html URL - caminho virtual Mapeamento c:\inetpub\wwwhome\index.html caminho físico no sistema de arquivos do servidor Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Servidores WWW Tipos de recursos estáticos resposta é gerada pelo servidor sem a ajuda de um outro processo externo tradução da URL-path em um path físico do recurso envio da resposta acrescida de algumas informações (tipo MIME, tamanho, data de última modificação, etc.) · dinâmicos resposta é gerada dinamicamente através de algum processamento externo ao servidor tradução da URL-path em um path físico de um programa programas são normalmente identificados por extensões ou por prefixos especiais para URL-paths (diretórios virtuais) Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Tecnologias Server-side Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * CGI – Common Gateway Interface Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Ineficiência do CGI Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * CGI: Exemplo <HTML> <HEAD> <TITLE> Exemplo CGI </TITLE> </HEAD> <BODY> <H2> Quem é você? </H2> <FORM METHOD=POST ACTION="../cgi-bin/uncgi/form-nome"> <P>Escreva seu nome: <INPUT TYPE="TEXT" NAME="Nome"> </P> <P><INPUT TYPE="Submit" VALUE="Ok"> </FORM> </BODY> </HTML> #! /bin/sh echo "Content-type: text/html" echo echo "<HTML><HEAD>" echo "<TITLE>Olá</TITLE>" echo "</HEAD><BODY>" echo "<P><H3>" if [ ! -z "$WWW_Nome" ]; then echo "Olá, " echo $WWW_Nome else echo "Você n&atide;o tem nome?" echo “</H3></BODY></HTML>” Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * APIs do Servidor Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Servlet API Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Vantagens dos Servlets Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Problemas dos Servlets, CGIs e APIs Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Solução: scripts de servidor Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Controle de sessão Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Cookies Outubro 2008 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br * Exemplo com cookies: Loja Virtual
Compartilhar