17
Redes de Computadores Aula 5 Prof.: Thiago Queiroz de Oliveira Tauá/2012 Instituto Federal de Educação, Ciência e Tecnologia do Estado do Ceará

Aula5 - HTTP

Embed Size (px)

DESCRIPTION

Aula

Citation preview

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 1/17

Redes de Computadores

Aula 5

Prof.: Thiago Queiroz de Oliveira

Tauá/2012

Instituto Federal de Educação, Ciênciae Tecnologia do Estado do Ceará

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 2/17

HTTP

• HTTP (HyperText Transfer Protocol)

 – Protocolo da camada de aplicação da Web.

 – Modelo cliente/servidor

• Cliente: navegador que requisita uma página web

• Servidor: servidor Web envia objetos em resposta arequisições.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 3/17

HTTP

• Conexões Persistentes

 – Múltiplos objetos podem ser enviados por umaconexão TCP entre cliente e servidor.

• Conexões Não Persistentes

 – No máximo um objeto é enviado por uma conexãoTCP.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 4/17

HTTP não persistente

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 5/17

HTTP não persistente

• RTT (Round Trip Time):

 – Tempo para um cliente ir em um servidor e voltar

 – Qual o tempo total para obter uma URL?

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 6/17

HTTP persistente

• Desvantagens HTTP não persistente:

 – Requer 2 RTTs por objeto

 – Overhead do SO para cada conexão TCP

 – Muitas conexões TCP abertas para uma requisição

• HTTP Persistente – Servidor deixa a conexão aberta depois de enviar a resposta.

 – Mensagens HTTP seguintes utilizam a conexão aberta.

 – No mínimo um RTT para todos objetos referenciados.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 7/17

Formato Mensagem HTTP

• Dois tipos de mensagem: requisição, resposta

• Mensagem de requisição HTTP:

 – ASCII (Formato de Texto Legível)

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 8/17

Mensagens Requisição HTTP

• HTTP/1.0

 – GET

 – POST

 – HEAD• Não traz objeto

requisitado

• HTTP/1.1

 – GET

 – POST

 – HEAD – PUT

• Envia arquivo para oservidor

 –

DELETE• Exclui arquivo

especificado no campoURL.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 9/17

Mensagens Resposta HTTP

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 10/17

Mensagens Resposta HTTP

• Código do estado de resposta: – 200 OK

• Requisição bem sucedida, responde com objeto solicitado.

 –

301 Moved Permanently• Objeto requisitado movido, novo local específicado

(Location:)

 – 400 Bad Request• Mensagem de requisição não pode ser interpretada

 – 404 Not Found• Documento requisitado não localizado no servidor

 – 505 HTTP Version Not Supported

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 11/17

Cookies

• Servidores HTTP não mantém estado.• Como um site identifica que é você que está acessando?• Através dos cookies um servidor consegue identificar um

usuário.

• Cookies são arquivos-texto que são criados no computadordos usuários para se armazenar/recuperar dados – Verificar se um usuário já se logou no site. – Armazena carrinho de compras em sites de e-commerce. – Exibe conteúdo de um site de acordo com as preferências do

usuário.• Geralmente possuem data de expiração.• É considerado invasão de privacidade por alguns usuários.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 12/17

Cache Web

• Atende a requisição do cliente sem envolver oservidor. – O cliente estabelece uma conexão com o servidor cache e envia uma

requisição HTTP.

 – Caso possua a requisição, o servidor cache responde a requisição. – Caso não possua, solicita ao servidor

de origem e armazena uma cópia da

requisição.

Vantagens – Reduz tempo de resposta para atender

a requisição de um cliente.

 – Reduz tráfego no servidor de origem.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 13/17

Exemplo Caching

• Exemplo:

 – Objeto: 1Mb

 – Taxa requisição média: 15/s

 – Atraso do roteador a internet(Ida e volta): 2s

• Consequências: – Utilização da LAN: 15%

 – Utilização do enlace de acesso: 100%

 – Atraso total = atraso Internet + atraso

de acesso + atraso da LAN

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 14/17

Exemplo Caching

• Possível solução: – Aumentar largura de banda do enlace para 100Mbps.

• Consequência: – Utilização LAN : 15%

 – Utilização Enlace acesso: 15%

 –

Atraso total: atraso internet + atraso acesso + atraso LAN = 2s + x(ms) + y(ms)• Outra solução:

 – Instalar servidor cache na LAN.

 – Supondo índice de acerto de 40%.

• Consequência: – 40% das requisições são satisfeitas imediatamente

 –

60% das requisições vão para os servidores de origem – Utilização 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

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 15/17

GET Condicional• Atualizar servidor cache de forma otimizada.

• Servidor cache específica a data da cópia em uma requisição para o servidor de origem.

• Servidor não envia objeto se a cópia estiver atualizada.

• Exemplo: – 1° Requisição – Servidor origem

GET /esporte/saopaulo HTTP/1.1

Host: www.uol.com.br 

 – Resposta Servidor OrigemHTTP/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° Requisição – Servidor origem

GET /esporte/saopaulo HTTP/1.1Host: 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..)

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 16/17

FTP – File Transfer Protocol

• Transfere arquivos de uma máquina remota

• Modelo cliente/servidor – Cliente: lado que inicia a transferência

 – Servidor: Hospedeiro remoto

• Utiliza conexões separadas para controle e dados. – Contacta servidor na porta 21

 – Utiliza autentiação (usuário e senha)

 – Utiliza TCP como protocolo de transporte.

 –

Abre uma conexão TCP separada para envio de cada arquivo. – Após transferência, servidor fecha a conexão de dados.

7/21/2019 Aula5 - HTTP

http://slidepdf.com/reader/full/aula5-http 17/17

FTP – Comandos

• USER nome-usuario

• PASS senha

• LIST “retorna lista de

arquivos do diretorio” • RETR nome-arquivo

 – Obtém um arquivoremoto

• STOR nome-arquivo – Armazena arquivo

remotamente

• 331 Username Ok,password required

• 125 Data Connectionalready open; transferstarting

• 425 Can’t open dataconnection

• 452 Error Writing File