Buscar

1 Internet

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 &eacute; voc&ecirc;? </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&aacute;</TITLE>"
echo "</HEAD><BODY>"
echo "<P><H3>"
if [ ! -z "$WWW_Nome" ]; then
 echo "Ol&aacute;, "
 echo $WWW_Nome
else
 echo "Voc&ecirc; 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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando