Вы находитесь на странице: 1из 4

Introduo a Camada de Aplicao e HTTP

Introduo
Consideraes sobre os protocolos
API de programao
Navegao na Web
HTTP
Atividade prtica

Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - Introduo


Os protocolos podem ser abertos
Utilizam portas menores que 256
Definidos em RFCs
HTTP, FTP, SMTP, POP3,

Podem ser proprietrios


Utilizam portas maiores ou igual a 256
Definidos por cada desenvolvedor
ICQ, RealPlayer, CUSeeMe, ...
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - Introduo


a camada que efetivamente utiliza-se dos
recursos da rede implementando protocolos de
aplicao
Cada protocolo refere-se a uma aplicao em
especfico. Cada nova aplicao pode usar
protocolos de aplicao anteriores ou criar
novos
Ex.: Robs para descoberta de informaes na rede
Ex.: Agentes mveis para descoberta de topologias
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - Consideraes


Os protocolos de rede (camadas de enlace, rede
e transporte) so orientados a bit
Os protocolos de aplicao normalmente so
orientados a mensagens, com caracteres texto
Para permitir uma interao melhor com o usurio
Mas desperdiam banda da rede. Ex.: para recuperar
uma informao
Orientado a bit: 0010 --> 4 bits
Orientado a mensagem: get --> 3 x 8 = 24 bits
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - Consideraes


As mensagens devem ser limitadas por uma seqncia
especial de caracteres quando o protocolo orientado
a Stream (TCP)
Ex.: Delimitador #10#13 (line-feed, carriage-return) em
mensagens FTP sobre TCP

O envio de mensagens inteiras melhora a utilizao da


rede, evitando excessivas fragmentaes
g, e, t, , t, e, s, t, e, \10, \13
11 envios (60 bytes), 11 confirmaes (60 bytes)
Total: 660 + 660 = 1320 bytes

get teste\10\13
1 envio (67 bytes), 1 confirmao (60 bytes)
Total: 127 bytes
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - API de Programao


Pela hierarquia de protocolos, as aplicaes
devem chamar apenas servios da camada
inferior adjacente
Apresentao - OSI
Transporte - TCP

Servios no fornecidos pela camada adjacente


podem forar o uso de camadas mais inferiores
ICMP echo request - camada de rede
ARP request - camada de enlace
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - Consideraes

Aplicaes que exigem operaes com maior


interao entre cliente e servidor desperdiam
mais a rede
Ex.: TELNET

Aplicaes que conseguem reter melhor o


fluxo de dados utilizam melhor a banda
Ex.: FTP
Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - API de Programao


A API padro de acesso aos servios das
camadas inferiores a API de sockets
Cada socket criado uma abstrao dos
recursos da rede

Conexes TCP
Mensagens UDP
Mensagens IP
Mensagens no nvel de enlace

Introduo Camada de Aplicao e HTTP

Instituto de Informtica - UFRGS

Camada de Aplicao - API de Programao


Aplicaes desenvolvidas no paradigma cliente
/servidor
Connect: servio orientado a conexo
Send: servio no orientado a conexo

Servidor: recebe requisies dos clientes


Bind, Listen e Accept: servio orientado a conexo
Recv: servio no orientado a conexo
O servidor deve ser multithread
Diretamente: vrias threads
Indiretamente: vrios processos

Funes no padro devem ser evitadas


Ex.: WSASocket

Delimitadores #10#13
O cliente (browser) conecta-se a uma porta do servidor
(WebServer)
Porta padro: 80

Mensagens simples que solicitam um recurso


A resposta da solicitao retornada pela mesma conexo
que realizou o pedido

Para otimizar, o cliente pode abrir varias conexes,


solicitando mais de um recurso ao mesmo tempo
Ex.: Uma conexo para cada imagem da pgina

Instituto de Informtica - UFRGS

HTTP - URLs

Introduo Camada de Aplicao e HTTP

10

Instituto de Informtica - UFRGS

HTTP - URLs

Decodificao de URLs
(http://www.altavista.com:80/index.html)
O protocolo seleciona um mdulo de software do browser
que executa a conexo (http://)
O endereo do servidor recuperado para estabelecimento
de uma conexo (www.altavista.com)
A porta do servidor verificada para que se acesse o servio
correto (:80)
O browser estabelece conexo TCP com o servidor na porta
correta (www.altavista.com:80)
Uma mensagem HTTP recupera o contedo do recurso
solicitado (GET /index.html)
Introduo Camada de Aplicao e HTTP

Protocolo orientado a mensagens


Com conexo

Cliente: acessa servidor atravs de

Introduo Camada de Aplicao e HTTP

HTTP - Introduo

11

Instituto de Informtica - UFRGS

Durante o recebimento, o browser pode verificar


novos recursos necessrios para formar a pgina
(hello.gif)
Uma nova conexo estabelecida para o mesmo
servidor e porta solicitando tal recurso
(http://www.altavista.com:80/hello.gif)
Para cada recurso uma nova conexo pode ser
estabelecida, otimizando a recuperao da pgina
(/index.html)
Introduo Camada de Aplicao e HTTP

12

Instituto de Informtica - UFRGS

HTTP - Mensagens do Protocolo


Mensagens HTTP (solicitao)

GET url => recuperao trivial de informaes


GET url HTTP/1.0 => recuperao completa
HEAD => recuperao do cabealho de uma pgina
...

Mensagens HTTP (resposta)


Status-Line = HTTP-Version SP Status-Code SP
Reason-Phrase CRLF
Introduo Camada de Aplicao e HTTP

13

Instituto de Informtica - UFRGS

HTTP - Mensagens do Protocolo


Status-Code = "200" ; OK |
"201" ; Created |
"202" ; Accepted |
"204" ; No Content |
"301" ; Moved Permanently |
"302" ; Moved Temporarily |
"304" ; Not Modified |
"400" ; Bad Request |
"401" ; Unauthorized |
"403" ; Forbidden |
"404" ; Not Found |
"500" ; Internal Server Error |
"501" ; Not Implemented |
"502" ; Bad Gateway |
"503" ; Service Unavailable | extension-code
Introduo Camada de Aplicao e HTTP

14

Instituto de Informtica - UFRGS

HTTP - Atividade Pratica


Programar um cliente HTTP com as seguintes
caractersticas
Aceita URLs HTTP e recupera as pginas
solicitadas sem mostr-las ao usurio
Para cada pgina determine:
1. A verso do protocolo
2. A data da recuperao
3. O ttulo da pgina
4. Tamanho total de bytes transferidos
Introduo Camada de Aplicao e HTTP

15

Instituto de Informtica - UFRGS

Вам также может понравиться