! Aplicação cliente-servidor
! Permite a publicação de documentos (servidor) e a recuperação e
HyperText Transfer Protocol visualização de documentos (cliente)
! Protocolo específico para interação cliente-servidor:
! HTTP (Hyper Text Transfer Protocol)
A. Carissimi -9-déc.-09
exibir para o usuário
Aula 29
Redes de Computadores 2
! Documento web
! Composta por uma série de objetos: arquivo base HTML, imagens,
Cliente Servidor applets, clipes de vídeo, etc)
Web HTTP Web ! Èxemplo: página com texto e cinco imagens possui seis objetos
! Acessível através de um URL (Uniforme Resource Locator)
Instituto de Informática - UFRGS
! Nome de um hospedeiro
Cache Documentos
Web ! Caminho para um recurso no sistema de arquivos do hospedeiro
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
http://www.in.ufrgs.br/~asc/redes
! Para o usuário, a web é conjunto de páginas ! Cada site web possui um daemon (servidor web)
! Páginas são visualizadas por programas específicos: ! Espera requisições de clientes (conexões TCP)
! Browsers (Netscape, Mozilla, MS Internet Explorer, etc) ! Cliente envia uma requisição ao servidor
! Servidor atende requisição e envia resposta
! Browser normalmente possui internamente vários interpretadores ! Conexão é desfeita*
permitindo a carga e a execução de páginas de diferentes tipos
! Servidor faz o armazenamento dos objetos
Instituto de Informática - UFRGS
A. Carissimi -9-déc.-09
http, htpps, ftp, mailto, news, telnet, ldap, file ! HTTP: HyperText Transfer Protocol
! Emprega conexões TCP na porta 80 (default) ! Número máximo de conexões é uma configuração do cliente
! Protocolo stateless (sem estado) e orientado a mensagens ! Desvantagens:
! Servidor não mantém nenhuma informação sobre o cliente ! Tempo para estabelecimento
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
movimentação, cópia, remoção, criação e remoção de aliases em um sistema
de arquivos
! OPTION: consulta propriedades do servidor ou de um objeto
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
algumas mensagens)
- Método GET não possui corpo
Mensagem de requisição - Método POST envia aqui as informações
A. Carissimi -9-déc.-09
Status
! Mecanismo para identificar usuários
Cabeçalhos ! Exige a definição de um nome de usuário e uma senha
[nome; valor] ! Codificação de status e cabeçalhos específicos para tal
HTTP/1.1 200 OK
... Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Requisição
[Nome; valor] Server: Apache/1.3.0 (Unix)
Instituto de Informática - UFRGS
A. Carissimi -9-déc.-09
algumas mensagens) (data data data .... Data data data data)
Mensagem de resposta
! Armazenam informações dos usuários ! Melhorar o desempenho realizando caching das páginas acessadas
! Usos de cookies ! Segurança
! Identificar usuários sem necessitar nome e senha ! Máquina cliente não é visível do exterior
! Lembrar preferências de um usuário ! Possibilidade de monitorar sites, palavras chaves, etc
! Carrinhos de compras, etc. Proxy
! Problema: usuários nômades (armazenamento é local)
Instituto de Informática - UFRGS
Requisição
Cliente Servidor reponse
Set-cookie: 167843
servidor
... Cliente request
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
HTTP/1.0 304 Not Modified
Hyper Text Transfer Protocol over SSL (HTTPS) Exemplos reais de http
! Protocolo de aplicação da web que utiliza criptografia ! Uma sessão de consulta a uma página web composta por um
! Garante privacidade (criptografia) conjunto de objetos (com paralelismo e não persistente)
! Sessão exemplo 1 http ethereal
! Garante a identidade das partes envolvidas em uma transferência
! Porta 443/TCP ! Uma sessão de consulta a uma página web com https
! Sessão exemplo 2 https
Instituto de Informática - UFRGS
https://nome_máquina/recurso
A. Carissimi -9-déc.-09
A. Carissimi -9-déc.-09
Redes de Computadores 25