Redes de Computadores I

Propaganda
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO
DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS
CURSO DE CIÊNCIA DA COMPUTAÇÃO
Redes de Computadores I
Nível de Aplicação (HTTP)
Prof. Helcio Wagner da Silva
. – p.1/24
Introdução
A WWW (World Wide Web) teve início em 1989 no
CERN (Conseil Européen pour la Recherche Nucléaire),
com a proposta do físico Tim Berners-Lee.
Estrutura arquitetônica que permite o acesso a
documentos de hipertexto espalhados mundo afora.
. – p.2/24
Introdução
O objetivo era permitir que cientistas de diferentes
nacionalidades colaborassem entre si trocando
relatórios, plantas, desenhos, fotos e outros documentos.
Em 1994, o CERN e o MIT criaram o W3C (World Wide
Web Consortium), voltado ao desenvolvimento da Web, a
padronização dos protocolos e a interoperabilidade.
A Web compara-se, em importância, a invenções como o
telefone, o rádio e a TV; diferentemente dos dois últimos,
porém, ela funciona sob demanda.
. – p.3/24
Objetos Web
O conteúdo da Web é estruturado em Objetos.
arquivo
HTML
arquivo−base
05 Objetos
imagem
JPEG
imagem
JPEG
imagem
JPEG
imagem
JPEG
Acesso via URL (Universal Resource Locator). Exemplo:
www.someSchool.edu/someDept/picture.gif
www.someSchool.edu → nome do host
someDept/picture.gif → path
. – p.4/24
Transferência de Objetos
É usado o HTTP (HyperText Transfer Protocol).
requ
isiçã
o HT
resp
osta
HTT
o
çã
i
s
i
qu
re
TP
P
P
T
T
H
P
TT
H
ta
s
o
p
s
e
r
. – p.5/24
Características do HTTP
É um protocolo do tipo stateless:
Isto é, ele não guarda o estado do cliente.
Faz uso dos serviços disponibilizados pelo TCP:
Mais precisamente, os Servidores HTTP usam a porta
80 do TCP.
Há atualmente duas versões: o HTTP/1.0 (RFC 1945) e
o HTTP/1.1 (RFC 2616).
A diferença entre o HTTP/1.0 e o HTTP/1.1 é que este
último faz uso de conexões TCP persistentes.
Ambas versões são compatíveis entre si.
. – p.6/24
Conexões Transientes x Persistentes
Servidor
Web
Browser
arquivo
HTML
imagem
JPEG
Servidor
Web
Browser
arquivo
HTML
imagem
JPEG
imagem
JPEG
imagem
JPEG
imagem
JPEG
imagem
JPEG
. – p.7/24
Acelerando a Transferência
O HTTP/1.0 usa paralelismo de conexões TCP:
Os vários Objetos ligados a um documento-base são
descarregados simultaneamente através de várias
conexões TCP.
O HTTP/1.1 usa a técnica de pipelining:
Nessa técnica, uma requisição para o Objeto N não
precisa esperar pela resposta ao Objeto N − 1.
. – p.8/24
Mercado de Servidores Web (2007)
. – p.9/24
Formato da Requisição HTTP
método
sp
URL
nome do campo
:
de cabeçalho
versão
valor
cr lf
valor
cr lf
cr lf
...
sp
nome do campo
:
de cabeçalho
cr lf
corpo da entidade
(usado no método POST)
linhas de cabeçalho
linha de requisição
. – p.10/24
Exemplo de Requisição HTTP
GET /someDir/page.html HTTP/1.1
Host: www.someSchool.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr
(extra carriage return, line feed)
. – p.11/24
Formato da Resposta HTTP
versão
sp cod. status sp
nome do campo
:
de cabeçalho
frase
cr lf
valor
cr lf
...
valor
cr lf
nome do campo
:
de cabeçalho
cr lf
corpo da entidade
linhas de cabeçalho
linha de status
. – p.12/24
Exemplo de Resposta HTTP
HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data data ...)
. – p.13/24
Códigos de Status e Frases Correspondentes
1xx: informação. Ex.: 100 Continue → o servidor
concorda em atender a requisição do cliente.
2xx: sucesso. Ex.: 200 OK → requisição bem-sucedida;
204 No Content → sem conteúdo.
3xx: redirecionamento. Ex.: 301 Moved Permanently
→ a página foi removida; 304 Not Modified → a página
no cache ainda é válida.
4xx: erro do cliente. Ex.: 403 Forbidden → página
proibida; 404 Not Found → página não encontrada.
5xx: erro no servidor. Ex.: 500 Internal Server
Error → erro interno no servidor; 503 Service
Temporarily Unavailable → tente mais tarde.
. – p.14/24
HTTP Usado para Autenticação Primitiva
Servidor
Web
Browser
requisição
usuário
+
senha
resposta
HTTP
requisição
resposta
HTTP
401 Authorization Required
WWW−Authenticate: (como será
feita a autenticação)
Authentication: usuário + senha
HTTP
requisição
resposta
HTTP
HTTP
HTTP
. – p.15/24
Cookies
Criados pela Netscape e definidos na RFC 2109,
permitem armazenar a informações de clientes.
Possuem até 4KB e têm até cinco campos. Exemplos:
toms-casino.com / CustomerID=497793521
15-10-02 17:00 Yes
joe-store.com / Cart=1-00501;1-07031;
2-13721 11-10-02 14:22 No
aportal.com / Prefs=Stk:SUNW+ORCL;
Spt:Jets 31-12-10 23:59 No
sneaky.com / UserID=3627239101
31-12-12 23:59 No
. – p.16/24
Como Funcionam os Cookies
www.toto.com
Servidor
Web
Browser
requisição HTTP
resposta HTTP
1678453
...
www.toto.com
Set−cookie: 1678453
Cookie: 1678453
requisição HTTP
resposta HTTP
. – p.17/24
Cache Web
Até 1998, 75 % do tráfego que circulava pela Internet era
proveniente da Web.
As estratégias usadas para diminuir o tráfego devido ao
acesso a páginas Web podem ser classificadas como
Cache Web.
A Cache Web pode ser implementada:
No cliente (navegador)
GET Condicional.
Na rede
Servidor Proxy Web.
. – p.18/24
GET Condicional
Servidor
Web
Browser
GET /fruit/kiwi.gif HTTP/1.0
User−agent: Mozilla/4.0
HTTP/1.0 200 OK
Date: Web, 12 Aug 1998 15:39:29
Server: Apache/1.3.0 (Unix)
Last−Modified: Mon, 22 Jan 1998 09:23:24
Content−Type: image/gif
(data data data data data ...)
...
cache
GET /fruit/kiwi.gif HTTP/1.0
User−agent: Mozilla/4.0
If−modified−since: Mon, 22 Jan 1998 09:23:24
HTTP/1.0 304 Not Modified
Date: Wed, 19 Aug 1998 15:39:29
Server: Apache/1.3.0 (Unix)
. – p.19/24
Servidor Proxy
req
uis
içã
browser
P
oH
o
TT
res
ã
isiç
P
po
sta
HT
r
Servidor
Web
req
uis
uis
P
o
p
s
e
T
HT
p
T
HT
sta
a
ost
res
P
req
P
u
req
TP
o
içã
T
HT
T
HT
Servidor
Proxy
res
içã
po
oH
sta
TT
P
HT
TP
browser
Servidor
Web
. – p.20/24
Servidor Proxy: Estudo de Caso
Servidores Web
Dados:
15 requisições/s.
Internet pública
Objetos de 100 Kbits,
em média.
atraso na Internet de 2s.
Enlace de 1,5 Mbps
Rede institucional
Conclusões:
Carga na LAN = 0,15
(ou 15 %)
LAN de 10 Mbps
Carga no enlace = 1,00
(ou 100 % !!!)
. – p.21/24
Alternativas de Projeto Possíveis
Servidores Web
Alternativa # 01:
Internet pública
Enlace de 1,5 Mbps
Aumentar a capacidade
do enlace de 1,5 Mbps
para 10 Mbps.
Alternativa # 02:
Rede institucional
Instalar um Servidor
Proxy na LAN.
LAN de 10 Mbps
. – p.22/24
Optando pela Alternativa # 02
Servidores Web originais
Suposição:
Internet pública
Enlace de 1,5 Mbps
40 % das requisições
são atendidas pelo
Proxy.
Conclusão:
Rede institucional
Carga no enlace =
0,60 (ou 60 %)
LAN de 10 Mbps
Servidor
Proxy
. – p.23/24
Optando pela Alternativa # 02
Servidores Web originais
Considerações adicionais:
Atraso na LAN ≈ 10 ms
Novo atraso no enlace ≈
10 ms
Internet pública
Conclusão:
Enlace de 1,5 Mbps
Atraso médio ≈ 0,4 x
(0,010 s) + 0,60 x (2,0 +
0,010 + 0,010) ≈ 1,25 s
Rede institucional
LAN de 10 Mbps
Servidor
Proxy
Valor inferior ao atraso da
Internet.
. – p.24/24
Download