You are on page 1of 17

Instituto Federal de Educao, Cincia

e Tecnologia do Estado do Cear

Redes de Computadores
Aula 5

Prof.: Thiago Queiroz de Oliveira

Tau/2012

HTTP
HTTP (HyperText Transfer Protocol)
Protocolo da camada de aplicao da Web.
Modelo cliente/servidor
Cliente: navegador que requisita uma pgina web
Servidor: servidor Web envia objetos em resposta a
requisies.

HTTP
Conexes Persistentes
Mltiplos objetos podem ser enviados por uma
conexo TCP entre cliente e servidor.

Conexes No Persistentes
No mximo um objeto enviado por uma conexo
TCP.

HTTP no persistente

HTTP no persistente
RTT (Round Trip Time):
Tempo para um cliente ir em um servidor e voltar
Qual o tempo total para obter uma URL?

HTTP persistente
Desvantagens HTTP no persistente:
Requer 2 RTTs por objeto
Overhead do SO para cada conexo TCP
Muitas conexes TCP abertas para uma requisio

HTTP Persistente
Servidor deixa a conexo aberta depois de enviar a resposta.
Mensagens HTTP seguintes utilizam a conexo aberta.
No mnimo um RTT para todos objetos referenciados.

Formato Mensagem HTTP


Dois tipos de mensagem: requisio, resposta
Mensagem de requisio HTTP:
ASCII (Formato de Texto Legvel)

Mensagens Requisio HTTP


HTTP/1.0
GET
POST
HEAD
No traz objeto
requisitado

HTTP/1.1

GET
POST
HEAD
PUT
Envia arquivo para o
servidor

DELETE
Exclui arquivo
especificado no campo
URL.

Mensagens Resposta HTTP

Mensagens Resposta HTTP


Cdigo do estado de resposta:
200 OK
Requisio bem sucedida, responde com objeto solicitado.

301 Moved Permanently


Objeto requisitado movido, novo local especficado
(Location:)

400 Bad Request


Mensagem de requisio no pode ser interpretada

404 Not Found


Documento requisitado no localizado no servidor

505 HTTP Version Not Supported

Cookies
Servidores HTTP no mantm estado.
Como um site identifica que voc que est acessando?
Atravs dos cookies um servidor consegue identificar um
usurio.
Cookies so arquivos-texto que so criados no computador
dos usurios para se armazenar/recuperar dados
Verificar se um usurio j se logou no site.
Armazena carrinho de compras em sites de e-commerce.
Exibe contedo de um site de acordo com as preferncias do
usurio.

Geralmente possuem data de expirao.


considerado invaso de privacidade por alguns usurios.

Cache Web
Atende a requisio do cliente sem envolver o
servidor.
O cliente estabelece uma conexo com o servidor cache e envia uma
requisio HTTP.
Caso possua a requisio, o servidor cache responde a requisio.
Caso no possua, solicita ao servidor
de origem e armazena uma cpia da
requisio.

Vantagens
Reduz tempo de resposta para atender
a requisio de um cliente.
Reduz trfego no servidor de origem.

Exemplo Caching
Exemplo:
Objeto: 1Mb
Taxa requisio mdia: 15/s
Atraso do roteador a internet(Ida e volta): 2s

Consequncias:
Utilizao da LAN: 15%
Utilizao do enlace de acesso: 100%
Atraso total = atraso Internet + atraso
de acesso + atraso da LAN

Exemplo Caching
Possvel soluo:
Aumentar largura de banda do enlace para 100Mbps.

Consequncia:
Utilizao LAN : 15%
Utilizao Enlace acesso: 15%
Atraso total: atraso internet + atraso acesso + atraso LAN = 2s + x(ms) + y(ms)

Outra soluo:
Instalar servidor cache na LAN.
Supondo ndice de acerto de 40%.

Consequncia:
40% das requisies so satisfeitas imediatamente
60% das requisies vo para os servidores de origem
Utilizao do enlace reduzida para 60%, resultando
atrasos menores(supondo 10ms)
Atraso total = atraso internet + atraso acesso + LAN
= 0,6*(2,01)s + 0,4 ms < 1,4 ms

GET Condicional

Atualizar servidor cache de forma otimizada.


Servidor cache especfica a data da cpia em uma requisio para o servidor de origem.
Servidor no envia objeto se a cpia estiver atualizada.
Exemplo:

1 Requisio Servidor origem


GET /esporte/saopaulo HTTP/1.1
Host: www.uol.com.br

Resposta Servidor Origem


HTTP/1.1 200 Ok
Date: Sat. 7 Jul 2012 15:39:29
Server: Apache/1.3.0 (Unix)
Last-Modified: Wed. 4 Jul 2007 09:23:24
Content-Type: text/html
(Dados + dados + dados ...)

2 Requisio Servidor origem


GET /esporte/saopaulo HTTP/1.1
Host: www.uol.com.br
If-modified-since: Web. 4 Jul 2007 09:23:24

Resposta Servidor origem


HTTP/1.1 304 Not Modified
Date: Sat. 14 Jul 2007 15:39:29
Server: Apache/1.3.0 (Unix)
(Corpo da mensagem vazio..)

FTP File Transfer Protocol


Transfere arquivos de uma mquina remota
Modelo cliente/servidor
Cliente: lado que inicia a transferncia
Servidor: Hospedeiro remoto

Utiliza conexes separadas para controle e dados.

Contacta servidor na porta 21


Utiliza autentiao (usurio e senha)
Utiliza TCP como protocolo de transporte.
Abre uma conexo TCP separada para envio de cada arquivo.
Aps transferncia, servidor fecha a conexo de dados.

FTP Comandos
USER nome-usuario
PASS senha
LIST retorna lista de
arquivos do diretorio
RETR nome-arquivo
Obtm um arquivo
remoto

STOR nome-arquivo
Armazena arquivo
remotamente

331 Username Ok,


password required

125 Data Connection


already open; transfer
starting
425 Cant open data
connection
452 Error Writing File

You might also like