2: Camada de Aplicação 1
Arquitetura de Redes
Prof. Felipe Soares
felipesoaresdo@gmail.com
Faculdades Asper
CST em Redes de Computares
2: Camada de Aplicação 2
Camadas de protocolos das Redes de
Computadores
Inicialmente os fabricantes trabalhavam de forma
separada no desenvolvimento de suas tecnologias:
Não existia padronização!!!
Com o intuito de estabelecer alguma padronização
e permitir uma integração entre as diversas
tecnologias, as instituições:
ISO (Internacional Standard Organization - ISO) e ITU (Internacional Telecomunication Union - ITU) definiram um modelo de referência contendo 7 camadas. O Modelo OSI (Open Systems Interconnection) A definição em camadas facilitam o:
• Projetoe Implementação • Ensinoe Aprendizagem
2: Camada de Aplicação 3
Camadas de protocolos das Redes de
Computadores
Cada camada por ser implementada separadamente
sem afetar as demais.
O modelo OSI teve muito sucesso na literatura de
Redes de Computadores, mas não teve o mesmo
sucesso no âmbito comercial.
O modelo da Internet (TCP/IP) simplifica o modelo
OSI.
2: Camada de Aplicação 4
Relação entre os modelos
Aplicação
ApresentaçãoSessão
Transporte
Rede
Enlace DadosFísica
Aplicação
Transporte
Rede
Modelo TCP/IP
Modelo OSI
Aplicação
Transporte
Rede
Modelo TCP/IP Híbrido
Enlace Dados
Física
Física
Enlace Dados
2: Camada de Aplicação 5
Relação entre os modelos
Aplicação
ApresentaçãoSessão
Transporte
Rede
Enlace DadosFísica
Aplicação
Transporte
Rede Acesso a RedeHTTP, FTP, Telnet, IRC, SMTP, POP3, DNS, SNMP, TFTP ASCII, EBCDIC, GIF, JPEG, MPEG, MIDI, MP3, WAV
NetBIOS over TCP (NBT), RPC, NFS
TCP (Transmission Control Protocol), UDP (User Datagram Protocol) ICMP
, IP,
ARP802.3/Ethernet II, FDDI, 802.11, ATM, PPP, FrameRelay, ISDN UTP, Coaxial, F.Óptica, RJ-45, EIA/TIA 568, RS-232, V.35
OSI
TCP/IP
Aplicação
ApresentaçãoSessão
Transporte
Rede
Enlace DadosFísica
Aplicação
Transporte
Rede
Acesso a RedeDADOS
DADOS
DADOS
SEGMENTOPACOTE
QUADRO
BITS
Applicações UsuáriosCompressão, Criptografia, Codificação
Mantem os dados de diferentes apps separados
Mantém os processos nos hosts (Portas)
Determinação de Melhor Caminho entre Redes (End Logico)
Preparação e Controle sobre a transmissão física (End Fisico)
Transmissão Física
PC
PC
PC
PC
Router
Switch, NIC
HUB
Serviços das Camadas Encapsulamento (PDU) DispositivosAplicação
ApresentaçãoSessão
Transporte
Rede
Enlace DadosFísica
Aplicação
Transporte
Rede
Acesso a RedeAplicação
ApresentaçãoSessão
Transporte
Rede
Enlace DadosFísica
Aplicação
Transporte
Rede
Acesso a RedeEnlace Dados
Física
Enlace Dados
Física
2: Camada de Aplicação 6
O que é uma aplicação em Rede?
São programas que rodam em sistemas
finais/hospedeiros (hosts) e se comunicam entre si
através da Rede.
A Internet oferece suporte para a troca de
mensagens entre aplicações através de canais
lógicos de comunicação (oferecidos pelos
protocolos TCP/IP) - Sockets.
Cada aplicação utiliza protocolos específicos –
2: Camada de Aplicação 7
Capítulo 2: Camada de Aplicação
Metas do capítulo:
aspectos conceituais e de implementação de protocolos de aplicação em redes modelos de serviço da camada de aplicação Aprender sobre protocolos através do estudo de protocolos populares da camada de aplicaçãoMais metas do capítulo
protocolos específicos:
HTTP FTP SMTP/ POP3/ IMAP DNS a programação de
aplicações de rede
programação usando a API
de sockets 2: Camada de Aplicação 8
Roteiro do Capítulo 2
2.1 Princípios dos
protocolos da camada
de aplicação
clientes e servidores requisitos das aplicações Cache Web na rede Redes de distribuição de conteúdo
2.2 Web e HTTP
2.3 FTP
2.4 Correio Eletrônico
SMTP, POP3, IMAP 2.5 DNS
2.9 Distribuição de
conteúdo
2: Camada de Aplicação 9
Aplicações de rede
Um processoé um
programa que executa num hospedeiro.
2 processos no mesmo hospedeiro se comunicam usando comunicação entre processosdefinida pelo sistema operacional (SO). 2 processos em hospedeiros distintos se comunicam usando um protocolo da camada de aplicação.
Um
agente de usuário
(UA)
é uma interface
entre o usuário “acima”
e a rede “abaixo”.
Implementa o protocolo da camada de aplicação WWW: browser Correio: leitor/compositor de mensagens streaming de áudio/vídeo: tocador de mídia 2: Camada de Aplicação 10Aplicações e protocolos da camada de aplicação
Aplicação: processos distribuídos em comunicação
p.ex., correio, Web,
compartilhamento de arquivos P2P, mensagens instantâneas
executam em hospedeiros no
“espaço de usuário”
trocam mensagens para
implementar a aplicação
Protocolos da camada de aplicação
uma “parte” da aplicação define mensagens trocadas por
apls e ações tomadas
usam serviços providos por
protocolos da camada inferior (TCP, UDP) aplicação transporte rede enlace física aplicação transporte rede enlace física aplicação transporte rede enlace física
2: Camada de Aplicação 11
Os protocolos da camada de
aplicação definem
Tipos de mensagens
trocadas, ex. mensagens
de pedido e resposta
Sintaxe dos tipos das
mensagens: campos
presentes nas mensagens
e como são identificados
Semântica dos campos,
i.e., significado da
informação nos campos
Regras para quando os
processos enviam e
respondem às mensagens
Protocolos de domínio
público:
definidos em RFCs
Permitem a
interoperabilidade de
fabricantes
ex, HTTP e SMTP
Protocolos proprietários
2: Camada de Aplicação 12Paradigma cliente-servidor (C-S)
Apl. de rede típica tem duas
partes: clientee servidor transporteaplicação rede enlace física aplicação transporte rede enlace física Cliente:
inicia contato com o servidor (“fala primeiro”)
tipicamente solicita serviço do servidor
para WWW, cliente
implementado no browser; para correio no leitor de mensagens
Servidor:
provê ao cliente o serviço requisitado
p.ex., servidor WWW envia página solicitada; servidor de correio entrega mensagens
pedido
2: Camada de Aplicação 13
Comunicação entre processos através da
rede
Os processos enviam/ recebem mensagens para/ dos seus
sockets
Um socketé análogo a uma porta
Processo transmissor envia a
mensagem através da porta
O processo transmissor
assume a existência da infra-estrutura de transporte no outro lado da porta que faz com que a mensagem chegue ao socket do processo receptor processo TCP com buffers, variáveis socket host ou servidor processo TCP com buffers, variáveis socket host ou servidor Internet controlado pelo SO controlado pelo desenvolvedor da aplicação 2: Camada de Aplicação 14
Endereçando os processos:
Para que um processoreceba mensagens ele deve possuir um identificador Cada hostpossui um
endereço IP único de 32 bits
P:o endereço IP do hostno qual o processo está sendo executado é suficiente para identificar o processo? Resposta:Não, muitos
processos podem estar executando no mesmo host
Se temos apenas um endereço IP, como todos os serviços podem funcionar ao mesmo tempo sem entrar em conflito?
O identificador inclui tanto o endereço IP quanto os
números das portas
associadas com o processo no host. Números de portas: Servidor HTTP: 80 Email: 25 (SMTP), 110 (POP3) SSH:22 DNS: 53
2: Camada de Aplicação 15
De que serviço de transporte uma
aplicação precisa?
Perda de dados
algumas apls (p.ex. áudio) podem tolerar algumas perdas
outras (p.ex., transf. de arquivos, telnet) requerem transferência 100% confiável
Temporização
algumas apls (p.ex.,telefonia Internet, jogos interativos) requerem baixo retardo para serem “viáveis”
Largura de banda
algumas apls (p.ex.,multimídia) requerem quantia mínima de banda para serem “viáveis”
outras apls (“apls elásticas”) conseguem usar qq quantia de banda disponível
2: Camada de Aplicação 16
Requisitos do serviço de transporte de apls comuns
Aplicação transferência de arqs correio documentos WWW áudio/vídeo de tempo real áudio/vídeo gravado jogos interativos Perdas sem perdas sem perdas sem perdas tolerante tolerante tolerante Banda elástica elástica elástica áudio: 1Mb vídeo: 5Mb como anterior > alguns Kbps Sensibilidade temporal não não não sim sim sim2: Camada de Aplicação 17
Serviços providos por protocolos de
transporte Internet
Serviço TCP:
orientado a conexão:
inicialização requerida entre cliente e servidor
transporte confiável entre processos remetente e receptor
controle de fluxo:remetente não vai “afogar” receptor controle de
congestionamento:
estrangular remetente quando a rede estiver carregada não provê:garantias
temporais ou de banda mínima
Serviço UDP:
transferência de dados não confiável entre processos remetente e receptor não provê: estabelecimento
da conexão, confiabilidade, controle de fluxo, controle de congestionamento, garantias temporais ou de banda mínima
P:Qual é o interesse em ter um UDP?
2: Camada de Aplicação 18
Apls Internet: seus protocolos e seus
protocolos de transporte
Aplicação
correio eletrônico accesso terminal remoto WWW transferência de arquivos streaming multimídia servidor de arquivo remoto telefonia Internet Protocolo da camada de apl SMTP [RFC 2821] telnet [RFC 854] HTTP [RFC 2616] ftp [RFC 959] proprietário (p.ex. RealNetworks) NSF proprietário (p.ex., Dialpad) Protocolo de transporte usado TCP TCP TCP TCP TCP ou UDP TCP ou UDP tipicamente UDP
2: Camada de Aplicação 19
Roteiro do Capítulo 2
2.1 Princípios dos
protocolos da camada
de aplicação
clientes e servidores requisitos das aplicações 2.2 Web e HTTP
2.3 FTP
2.4 Correio Eletrônico
SMTP, POP3, IMAP 2.5 DNS
2.6 Programação de
Sockets com TCP
2.7 Programação de
Sockets com UDP
2.8 Construindo um
servidor Web
2.9 Distribuição de
conteúdo
Cache Web na rede Redes de distribuição de
conteúdo
Compartilhamento de
arquivos P2P
2: Camada de Aplicação 20
Camadas de protocolos das Redes de
Computadores
WWW é uma aplicação da Internet (e não a
Internet!)
Inventada em 1989 por Tim Berners-Lee
no Centre Européan pour Rechèrche Nucleaire (CERN), em Genebra, Suiça.
Duas idéias centrais do WWW:
Hyperlinks
Uniform Resource Locators (URL).
Mosaic: o primeiro “web reader” a ficar conhecido
Escrito em 1993 no National Center for Supercomputing
Applications (NCSA) por Marc Andressen
2: Camada de Aplicação 21
WWW
Página WWW:
consiste de “objetos” endereçada por uma URL
Quase todas as páginas
WWW consistem de:
página base HTML, e vários objetos
referenciados.
URL tem três partes: o
protocolo, nome do
servidor, e nome de
caminho:
Agente de Usuário (AU)
para WWW
(browser)
:
MS Internet Explorer Firefox, Chorme, Opera
Servidor para WWW se
chama “servidor WWW
ou web”:
Apache (domínio público) MS Internet Information
Server (IIS)
http://www.unipe.br/algum-depto/pic.gif
2: Camada de Aplicação 22
A aplicação WWW usa o protocolo
HTTP (
hypertext transfer protocol
)
HTTP/0.9
- Lida com objetos HTML simples
HTTP/1.0 (RFC 1945)
- Objetos mais complexos,
tabelas, multimídia, formulários
HTTP/1.1 (RFC 2616)
–
Versão atual
- Otimizações
de desempenho, correção de falhas "keep-alive"
connections, virtual hosting, proxy connection
HTTP-NG (HTTP/2.0)
- Proposta de sucessor do
HTTP/1.1, concluída em 1998 . Propõe a divisão do
protocolo em 3 sub-camadas: message transport
layer, remote invocation layer, Web Application
Muito complexo e ainda não adotado
2: Camada de Aplicação 23
Protocolo HTTP
HTTP
só transporta os objetos
O formato do objeto é um padrão à parte
HTML
é um padrão de formatação para
documentos
Documentos HTML incluem informações sobre como
formatar
visualmente o texto e os objetos
embutidos (ex: figuras)
HTML usa “tags” (rótulos) para indicar formatação
Outros padrões também são usados
Exemplo: Extensible Markup Language(XML)
2: Camada de Aplicação 24
WWW: o protocolo HTTP
HTTP: hypertext
transfer protocol
protocolo da camada de aplicação para WWW modelo cliente/servidor cliente:browserque
pede, recebe, “visualiza” objetos WWW servidor:servidor WWW envia objetos em resposta a pedidos http1.0: RFC 1945 http1.1: RFC 2068 PC executa Explorer Servidor executando servidor WWW Apache Mac executa Navigator
2: Camada de Aplicação 25
Mais sobre o protocolo HTTP
Usa serviço de transporte
TCP:
cliente inicia conexão TCP (cria socket) ao servidor, porta 80
servidor aceita conexão TCP do cliente
mensagens HTTP (mensagens do protocolo da camada de apl) trocadas entre browser
(cliente HTTP) e servidor Web (servidor HTTP) encerra conexão TCP
HTTP é “sem estado”
servidor não mantéminformação sobre pedidos anteriores do cliente 2: Camada de Aplicação 26
Conexões HTTP
HTTP não persistente
No máximo um objeto
é enviado numa
conexão TCP.
HTTP/1.0 usa o HTTP
não persistente
Cada objeto necessita
de uma nova conexão
TCP
HTTP persistente
Múltiplos objetos
podem ser enviados
sobre uma única
conexão TCP entre
cliente e servidor.
HTTP/1.1 usa conexões
persistentes no seu
modo default
2: Camada de Aplicação 27
Exemplo de HTTP não persistente
Supomos que usuário digita a URL
www.algumaUniv.br/algumDepartmento/inicial.index
1a.Cliente http inicia conexão TCP a servidor http (processo) a www.algumaUniv.br. Porta 80 é padrão para servidor http.
2.cliente http envia mensagem
de pedido de http (contendo
URL) através do socket da conexão TCP
1b.servidor http no hospedeiro www.algumaUniv.br espera por conexão TCP na porta 80. “aceita” conexão, avisando ao cliente
3.servidor http recebe mensagem de pedido, formula mensagem
de respostacontendo objeto
solicitado
(algumDepartmento/inicial.index), envia mensagem via socket
tempo
(contém texto, referências a 10 imagens jpeg)TCP
HTTP
2: Camada de Aplicação 28Exemplo de HTTP não persistente
(cont.)
5.cliente http recebe mensagem de resposta contendo arquivo html, visualiza html.
Analisando arquivo html, encontra 10 objetos jpeg referenciados
6.Passos 1 a 5 repetidos para cada um dos 10 objetos jpeg
4.servidor http encerra conexão TCP .
2: Camada de Aplicação 29
Modelagem do tempo de
resposta
Definição de RTT (Round Trip Time):intervalo de tempo entre a ida e a volta de um pequeno pacote entre um cliente e um servidor.
Tempo de resposta:
um RTT para iniciar a conexão TCP
um RTT para o pedido HTTP e o retorno dos primeiros bytes da resposta HTTP tempo de transmissão do arquivo total = 2RTT+tempo de transmissão tempo para transmitir o arquivo Inicia a conexão TCP RTT solicita arquivo RTT arquivo recebido tempo tempo 2: Camada de Aplicação 30
HTTP persistente
Problemas com o HTTP nãopersistente:
requer 2 RTTs para cada
objeto
SO aloca recursos do hostpara
cada conexão TCP
os browsersfreqüentemente
abrem conexões TCP paralelas para recuperar os objetos referenciados
HTTP persistente
o servidor deixa a conexão
aberta após enviar a resposta
mensagens HTTP seguintes
entre o mesmo cliente/servidor são enviadas nesta conexão
2: Camada de Aplicação 31
Componentes da Web: Proxy
“Proxy” = “procurador”
Intercepta e Vistoria as requisições HTTP
Aplica políticas definidas por uma organização
• Exemplos:
» Não permitir acesso ao site www.orkut.com, www.youtube.com
2: Camada de Aplicação 32
Componentes da Web: Caches
Armazena documentos freqüentemente acessados
Geralmente é uma tarefa do proxy
Evita solicitar o mesmo documento duas vezes
2: Camada de Aplicação 33
Content Delivery Network
(CDN)
Em casos de alto índice de requisições dos clientes, podem ser instalados neste cenário, múltiplos servidores de forma que esta demanda de requisições possa ser dividida entre eles, com possíveis implementações de cachês.
Akamai
2: Camada de Aplicação 34
Google contrata Akamai para transmissão do YouTube Live: 700 mil
espectadores simultâneos
2: Camada de Aplicação 35
mensagem de pedido HTTP: formato geral
2: Camada de Aplicação 36
formato de mensagem HTTP:
pedido
Dois tipos de mensagem HTTP:
pedido, resposta
mensagem de pedido HTTP:
ASCII (formato legível por pessoas)
GET /somedir/page.html HTTP/1.1 Host: www.unipe.br
User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg Accept-language:pt linha do pedido (comandos GET, POST) linhas do cabeçalho
2: Camada de Aplicação 37
formato de mensagem HTTP:
resposta
HTTP/1.1 200 OK
Date: Thu, 06 Aug 2010 12:00:15 GMT Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 ... Content-Length: 6821
Content-Type: text/html
dados dados dados dados ...
linha de status (protocolo, código de status, frase de status) linhas de cabeçalho dados, p.ex., arquivo html solicitado
2a: Camada de Aplicação 38
Métodos de Requisição HTTP
GET
O método GET é usado quando queremos
pesquisar ou passar dados para uma outra página
usando a URL da página. Ex.:
http://www.site.com.br/busca.php?produto=543
Tudo que é inserido depois do "?" é considerado Query
String e pode ser acessado na página atual usando a
combinação nome=valor, onde nome é "produto" e valor é "543".
Se mais de um par nome=valor precisar ser fornecido, o
simbolo "&" é usado na separação.
Veja:http://www...br/busca.php?produto=543&tipo=3
38 2: Camada de Aplicação
Métodos de Requisição HTTP
HEAD
Obtém informações sobre um documento do
servidor (mas não pede o documento)
POST
POST é utilizado para enviar mensagens que
fazem upload de dados ao servidor Web.
• Por exemplo, quando o usuário insere dados em um formulário incluído em uma página Web, POST inclui os dados na mensagem enviada ao servidor.
• <form name="teste" method="post" action="pesquisar.php"> <input type="text" name="produto"> </form>
2: Camada de Aplicação 39
2: Camada de Aplicação 40
Campos de Cabeçalho de Requisição 1/3
User-Agent
Especifica informações relativas ao software cliente
usado na
requisição.
Exemplo: User-Agent: Mozilla/4.0 (compatible; MSIE
6.0; Windows NT 5.1)
Accept
Usado para especificar determinados tipos de mídias que
são aceitáveis para a resposta.
2: Camada de Aplicação 41
Campos de Cabeçalho de Requisição 2/3
Accept-Encoding
Similar ao Accept, mas restringe os tipos de codificação
de
conteúdo que são aceitáveis na resposta.
Exemplo: Accept-Encoding: compress, gzip, deflate
Accept-Language
Especifica o conjunto de linguagens naturais preferidas
para a
resposta.
Exemplo: Accept-Language: en-gb; en;
2: Camada de Aplicação 42
Campos de Cabeçalho de Requisição 3/3
Accept-Charset
Usado para indicar o conjunto de caracteres que são
aceitáveis
para a resposta.
2: Camada de Aplicação 43
Campos de Cabeçalho de Resposta (1/3)
Accept-Ranges
O servidor indica que pode aceitar futuras requisições
de blocos parciais (partes) de objetos.
Exemplo: Accept-Ranges: bytes
Server
Contém informações sobre o software usado
pelo servidor de origem que atendeu o pedido.
Exemplo: Server: Apache/1.3.23 (Unix) (Red-Hat/Linux)
mod_python/2.7.6 Python/1.5.2 mod_ssl/2.8.7 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26
2: Camada de Aplicação 44
Campos de Cabeçalho de Resposta (2/3)
Content-Type
Indica o tipo de mídia sendo enviada no corpo da
resposta.
Exemplo: Content-Type: text/html;
charset=ISO-8859-4
Content-Encoding
Indica o mecanismo de codificação do documento sendo
enviado.
2: Camada de Aplicação 45
Campos de Cabeçalho de Resposta (3/3)
Content-Length
Indica o tamanho em bytes do corpo da entidade sendo
enviada.
Exemplo: Content-Length: 4836
Content-Language
Indica a linguagem natural utilizada na criação do corpo
da
entidade sendo enviada.
Exemplo: Content-Language: pt-br
Last-Modified
Indica a data e a hora de modificação do
objeto enviado
Exemplo:Last-Modified: Wed, 03 Mar 2004 08:12:31
GMT
2: Camada de Aplicação 46
Exemplo (Resposta)
HTTP/1.1 200 OK
Date: Sun, 29 Feb 2004 13:35:27 GMT Server: Apache/1.3.23 (Unix) (Red-Hat/Linux) mod_python/2.7.6 Python/1.5.2 mod_ssl/2.8.7 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2
mod_perl/1.26 mod_throttle/3.1.2
Last-Modified: Tue, 09 Apr 2002 18:56:58 GMT ETag: "65608-b4a-3cb3397a"
Accept-Ranges: bytes Content-Length: 2890 Content-Type: text/html
2: Camada de Aplicação 47
Exemplos Método GET (Continuação)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2Final//EN"><HTML> <HEAD> <TITLE>Test Page for the Apache Web Server on Red Hat Linux</TITLE> </HEAD><!-- Background white, links blue
(unvisited), navy (visited), red (active)--> <BODY BGCOLOR="#FFFFFF">
<H1 ALIGN="CENTER">Test Page</H1> This page is used to test the proper operation of the Apache Web server after it has been installed. If you can read this page, it means that the Apache Web server installed at this site is working properly.
<HR WIDTH="50%"> ...
<A HREF="http://www.redhat.com/"><IMG
SRC="poweredby.png" ALT="[ Poweredby Red Hat Linux ]"></A></P>
</BODY></HTML>
2a: Camada de Aplicação 48
códigos de status da resposta
HTTP
Informativo (1XX)
Bem sucedido (2XX)
Redirecionamento (3XX)
Erro de Cliente (4XX)
Erro de Servidor (5XX)
48 2: Camada de Aplicação2: Camada de Aplicação 49
códigos de status da resposta
HTTP
200 OK (Sucesso)
sucesso, objeto pedido segue mais adiante nesta mensagem
301 Moved Permanently (Redirecionamento)
objeto pedido mudou de lugar, nova localização
400 Bad Request (Erro de Cliente)
mensagem de pedido não entendida pelo servidor
403 Forbidden (Erro de Cliente)
• Usuário não está autorizado a abrir ou listar algum
diretório do site solicitado.
404 Not Found (Erro de cliente)
documento pedido não se encontra neste servidor ou não
foi encontrado.
Na primeira linha da mensagem de resposta
servidor->cliente. Alguns códigos típicos:
2: Camada de Aplicação 50
códigos de status da resposta
HTTP
505 HTTP Version Not Supported (Erro do
Servidor)
versão de http do pedido não usada por este servidor
500 (Internal Server Error) (Erro do
Servidor)
O erro 500 geralmente indica que ocorreu um problema ao
se tentar executar um script PHP ou CGI (binário, Perl etc.).
2: Camada de Aplicação 51
Experimente você com HTTP (do lado
cliente)
1. Use cliente telnet para seu servidor WWW favorito:
Abre conexão TCP para a porta 80 (porta padrão do servidor http) a unipe.br Qualquer coisa digitada é enviada para a porta 80 do www.ic.uff.brtelnet servidor 80
2. Digite um pedido GET HTTP:
GET /~michael/index.html HTTP/1.1 Digitando isto (deve teclar
ENTER duas vezes), está enviando este pedido GET mínimo (porém completo) ao servidor http
3. Examine a mensagem de resposta enviada pelo
servidor HTTP !
2: Camada de Aplicação 52
Referência