Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CYAN
VS Gráfica VS Gráfica
MAG
VS Gráfica
YEL
VS Gráfica
BLACK
Forouzan
M
osharraf
www.grupoa.com.br
0800 703 3444
Recorte aqui seu m
arcador de página.
REDES DE COM
PUTADORES
UM
A ABORDAGEM TOP-DOW
N
REDES E INTERNET
www.grupoa.com.br
Forouzan
M
osharraf
REDES DE COM
PUTADORES
UM
A ABORDAGEM TOP-DOW
N
REDES DE
COMPUTADORES
UMA ABORDAGEM TOP-DOWN
Forouzan & Mosharraf
REDES E INTERNET
COMER, D. E.
Redes de Computadores e Internet, 4.ed.
EMC EDUCATION SERVICES
Armazenamento e Gerenciamento de Informações
FOROUZAN, B. A.
Comunicação de Dados e Redes de Computadores, 4.ed.
FOROUZAN & FEGAN
Protocolo TCP/IP, 3.ed.
FOROUZAN & MOSHARRAF
Redes de Computadores: Uma Abordagem Top-down
HAROLD, E. R.
Refatorando HTML: Como Melhorar o Projeto de 
Aplicações Web Existentes
HERRINGTON, J. D.
PHP Hacks: Dicas e Ferramentas Úteis para a Criação de 
Web Sites Dinâmicos
ROMAN, AMBLER & JEWELL
Dominando Enterprise JavaBeans, 2.ed.
STEVENS, FENNER & RUDOFF
Programação de Rede UNIX: API para Soquetes de Rede, 3.ed.
REDES DE
COMPUTADORES
UMA ABORDAGEM TOP-DOWN
Forouzan & Mosharraf
A Internet deixou de ser uma necessidade exclusiva das organizações e passou a 
fazer parte da vida de todos nós, tanto para as questões pessoais quanto para as 
profi ssionais. As tecnologias ligadas às redes e às interconexões de redes estão 
entre aquelas que cresceram mais rapidamente nos últimos anos.
Nesse contexto, Redes de computadores traz aos estudantes e profi ssionais 
da área os conceitos básicos do gerenciamento e da operação, parcial ou to-
tal, de redes. O livro reúne duas características importantes: a apresentação 
dos conceitos usando protocolos em camadas da Internet e da pilha de pro-
tocolos TCP/IP, e a abordagem top-down, ou de cima para baixo, que começa 
explicando os conceitos mais próximos da camada de aplicação até chegar à 
camada física. Nessa abordagem o leitor consegue identifi car situações do seu 
dia a dia antes de passar aos detalhes de implementação usando os serviços das 
demais camadas. 
Trata-se de uma obra essencial para estudantes de informática, sistemas 
de informação, ciência da computação, engenharia elétrica e engenharia da 
computação e afi ns.
Material online
Visite o site www.grupoa.com.br e acesse material de apoio aos 
estudos, em português e inglês.
Área do professor
Visite a Área do Professor no site e tenha acesso ao conteúdo 
exclusivo, em português e inglês, deste livro.
A Bookman Editora é parte do Grupo A, 
uma empresa que engloba diversos 
selos editoriais e várias plataformas 
de distribuição de conteúdo técnico,
científico e profissional, 
disponibilizando-o como, onde 
e quando você precisar.
O Grupo A publica com exclusividade 
obras com o selo McGraw-Hill 
em língua portuguesa.
042381_Redes_computadores_Abordagem_Top-Down.indd 2042381_Redes_computadores_Abordagem_Top-Down.indd 2 14/novembro/12 13:3814/novembro/12 13:38
F727r Forouzan, Behrouz A.
 Redes de computadores [recurso eletrônico] : uma
 abordagem top-down / Behrouz A. Forouzan, Firouz
 Mosharraf ; tradução técnica: Marcos A. Simplicio Jr.,
 Charles Christian Miers. – Dados eletrônicos. – Porto Alegre :
 AMGH, 2013.
 Editado também como livro impresso em 2013.
 ISBN 978-85-8055-169-3
 1. Computação. 2. Redes de computadores. I. Mosharraf,
 Firouz. II. Título. 
CDU 004.7
Catalogação na publicação: Ana Paula M. Magnus – CRB 10/2052
44 Capítulo 2 Camada de aplicação
2.3.1 World  Wide  Web  e  HTTP 
Nesta seção, primeiramente apresentamos a World Wide Web (abreviada como WWW ou 
Web). Discutimos, então, o Protocolo de Transferência de Hipertexto (HTTP – HyperText Transfer 
Protocol), 
o programa cliente-servidor da camada de aplicação de modo geral usado no contexto da Web.
World Wide Web
A ideia da Web foi proposta pela primeira vez por Tim Berners-Lee, em 1989, no CERN*, a Organi-
zação Europeia para Pesquisa Nuclear, para permitir que vários pesquisadores em diferentes locais 
da Europa pudessem acessar as pesquisas uns dos outros. A Web comercial surgiu no início de 1990.
A Web é hoje um repositório de informações no qual os documentos, chamados de páginas 
Web, são distribuídos por todo o mundo e documentos relacionados são vinculados entre si. A 
popularidade e o crescimento da Web pode ser ligado a dois termos da frase anterior: distribuídos 
e vinculados. A distribuição permite o crescimento da Web. Cada servidor Web no mundo pode 
adicionar uma nova página Web ao repositório e anunciá-lo a todos os usuários da Internet sem 
sobrecarregar alguns poucos servidores. A vinculação permite que uma página Web faça refe-
rerência a outra armazenada em um servidor em algum outro lugar no mundo. A vinculação de 
páginas Web é obtida usando um conceito chamado hipertexto, que foi introduzido muitos anos 
antes do advento da Internet. A ideia era utilizar uma máquina que automaticamente recuperasse 
outro documento armazenado no sistema quando um vínculo (link) aparecesse no documento. A 
Web implementou a ideia eletronicamente, permitindo que o documento vinculado fosse recupe-
rado quando o link fosse clicado pelo usuário. Hoje, o termo hipertexto, cunhado para designar 
documentos de texto vinculados, foi alterado para hipermídia, para mostrar que uma página Web 
pode ser um documento de texto, uma imagem, um arquivo de áudio ou um arquivo de vídeo.
O objetivo da Web extrapolou a simples recuperação de documentos vinculados. Hoje, a Web 
é usada para prover serviços de compras eletrônicas e jogos; nela, é possível ouvir programas de 
rádio ou ver programas de televisão sempre que se desejar, sem ser obrigado a ouvir ou ver esses 
programas quando eles são originalmente transmitidos.
Arquitetura
O WWW atual é um serviço cliente-servidor distribuído, em que um cliente usando um navegador 
(browser) pode acessar um serviço por meio de um servidor. No entanto, o serviço fornecido é dis-
tribuído entre muitos locais chamados sites. Cada site possui um ou mais documentos, chamados 
de páginas Web. Cada página Web, no entanto, pode conter algumas ligações ou links para outras 
páginas do mesmo ou de outros sites. Em outras palavras, uma página Web pode ser simples ou 
composta. A simples não tem links para outras páginas; a composta tem um ou mais links para ou-
tras páginas Web. Cada uma delas é um arquivo com um nome e um endereço.
 Exemplo 2.2
Considere	que	precisamos	buscar	um	documento	científico	que	contém	uma	referência	a	outro	arquivo	de	texto	
e	uma	referência	a	uma	imagem	grande.	A	Figura	2.8	ilustra	essa	situação.
O	documento	principal	e	a	imagem	são	armazenados	em	dois	arquivos	separados	no	mesmo	site	(arquivo	A	e	
arquivo	B);	o	arquivo	de	texto	referenciado	é	armazenado	em	outro	site	(arquivo	C).	Como	estamos	lidando	com	
três	arquivos	diferentes,	precisamos	de	 três	 transações	se	quisermos	ver	o	documento	completo.	A	primeira	
* Em francês: Conseil Européen pour la Recherche Nucléaire.
452.3 Aplicações cliente-servidor padronizadas 
transação	 (pedido/	 resposta)	 recupera	 uma	 cópia	 do	 documento	 principal	 (arquivo	 A),	 que	 tem	 referências	
(ponteiros)	para	o	segundo	e	terceiro	arquivos.	Após	recuperar	uma	cópia	do	documento	principal	e	navegar	
por	ela,	o	usuário	pode	clicar	sobre	a	referência	à	imagem	para	invocar	a	segunda	transação	e	recuperar	uma	
cópia	da	imagem	(arquivo	B).	Se	o	usuário	precisar	ver	o	conteúdo	do	arquivo	de	texto	referenciado,	ele	pode	
clicar	sobre	a	sua	referência	(ponteiro)	invocando	a	terceira	operação	e	recuperando	uma	cópia	do	arquivo	C.	
Observe	que,	apesar	dos	arquivos	A	e	B	serem	armazenados	no	site	 I,	eles	são	arquivos	independentes	com	
nomes	e	endereços	distintos.
Duas	 transações	são	necessárias	para	recuperá-los.	Um	ponto	muito	 importante	de	que	precisamos	 lembrar	
é	que	o	arquivo	A,	o	arquivo	B	e	o	arquivo	C	no	Exemplo	2.2	são	páginas	Web	independentes,	cada	uma	com	
um	nome	e	endereço	distintos.	Embora	as	referências	para	os	arquivos	B	ou	C	estejam	inclusas	no	arquivo	A,	
isto	não	significaque	cada	um	desses	arquivos	não	possa	ser	recuperado	de	forma	independente.	Um	segundo	
usuário	pode	recuperar	o	arquivo	B	com	uma	transação.	Um	terceiro	usuário	pode	recuperar	o	arquivo	C	com	
uma	transação.
Cliente Web (Navegador) Diversos fornecedores oferecem navegadores (browsers) comerciais 
que interpretam e exibem uma página Web, e todos eles utilizam quase a mesma arquitetura. Cada 
navegador geralmente tem três partes: um controlador, protocolos cliente, e interpretadores. (Ver 
Figura 2.9.)
Navegador
HTTP FTP SSH SMTP
Interpretadores
Java
JavaScript
HTML
Controlador
Figura 2.9 Navegador (browser).
O controlador recebe a entrada do teclado ou do mouse e usa os programas-cliente para aces-
sar o documento. Depois, o controlador usa um dos interpretadores para exibir o documento na 
tela. O protocolo-cliente pode ser um dos protocolos descritos mais adiante, como HTTP ou FTP. 
2
1
3
5
6
4
Site I Site II
A: Documento original
B: Imagem
C: Arquivo referenciado
A B C
Cliente
Pedido1
Resposta1
Pedido2
Resposta2
Pedido3
Resposta3
Figura 2.8 Esquema para o Exemplo 2.2.
46 Capítulo 2 Camada de aplicação
O interpretador pode ser HTML, Java, ou JavaScript, dependendo do tipo de documento. Alguns 
navegadores comerciais são o Internet Explorer, o Netscape Navigator, o Mozilla Firefox, o Google 
Chrome e o Opera.
Servidor Web A página Web é armazenada no servidor. Cada vez que um pedido chega, o do-
cumento correspondente é enviado ao cliente. Para conseguir uma melhor eficiência, os servidores 
normalmente armazenam arquivos solicitados em memória cache (memória de armazenamento 
temporário), pois é mais rápido acessar a memória do que o disco. Um servidor pode também se 
tornar mais eficiente se usar multithreading ou multiprocessamento. Nesse caso, um servidor pode 
responder a mais de um pedido de cada vez. Entre os servidores Web populares, estão o Apache e o 
Microsoft Internet Information Server (IIS).
Localizador Uniforme de Recursos (URL) 
Uma página Web, assim como um arquivo, precisa ter um identificador único que permita dis-
tinguí-la de outras. Para definir uma página Web, precisamos de três identificadores: host, porta 
e caminho. Entretanto, antes da definição, precisamos dizer ao navegador que tipo de aplicação 
cliente-servidor queremos usar, o que é chamado de protocolo. Isto significa que precisamos de 
quatro identificadores: o primeiro é o tipo de instrumento que será utilizado para buscar a página 
Web; os três últimos formam uma combinação que define o objeto de destino (página Web).
 � Protocolo. O primeiro identificador é a abreviação para o programa cliente-servidor que 
utilizamos para acessar a página Web. Embora na maior parte do tempo o protocolo seja 
o Protocolo de Transferência de Hipertexto (HTTP – HyperText Transfer Protocol), que 
discutiremos em breve, também podemos usar outros protocolos, como o Protocolo de 
Transferência de Arquivos (FTP – File Transfer Protocol).
 � Host. O identificador do host pode ser o endereço IP do servidor ou o nome único dado 
ao servidor. Os endereços IP podem ser definidos usando notações decimais pontuadas, 
conforme descrito no Capítulo 4 (por exemplo, 64.23.56.17); o nome costuma ser o de 
domínio que define univocamente o host, tal como forouzan.com, algo que discutiremos 
quando falarmos do Sistema de Nomes de Domínio (DNS – Domain Name System) mais 
adiante.
 � Porta. A porta, um número inteiro de 16 bits, normalmente é predefinida para a aplicação 
cliente-servidor. Por exemplo, se o protocolo HTTP é usado para acessar a página Web, o 
número de porta conhecido é 80. No entanto, se uma porta diferente for usada, o número 
pode ser fornecido explicitamente.
 � Caminho. O caminho identifica o local e o nome do arquivo no sistema operacional 
subjacente. O formato do identificador normalmente depende do sistema operacional. No 
UNIX, um caminho é um conjunto de nomes de diretório seguido do nome do arquivo, 
todos separados por uma barra. Por exemplo, /topo/proximo/ultimo/meuarquivo é um ca 
minho que define univocamente um arquivo chamado meuarquivo, armazenado no di-
retório ultimo, que por sua vez é parte do diretório proximo, que por sua vez está dentro 
do diretório topo. Em outras palavras, o caminho lista os diretórios de cima para baixo, 
seguido então pelo nome do arquivo.
Para combinar essas quatro partes, foi criado o Localizador Uniforme de Recursos (URL – 
Uniform Resource Locator), que usa três diferentes separadores entre as quatro partes, conforme 
ilustrado a seguir:
protocolo://host/caminho Usado na maioria dos casos
protocolo://host:porta/caminho Usado quando o número de porta é necessário
472.3 Aplicações cliente-servidor padronizadas 
 Exemplo 2.3
O	URL	http://www.mhhe.com/compsci/forouzan/	define	a	página	Web	relacionada	a	um	dos	autores	deste	livro.	
A	cadeia	de	caracteres	www.mhhe.com	é	o	nome	do	computador	na	empresa	McGraw-Hill	(as	três	letras	www	
são	parte	do	nome	do	host	e	são	adicionadas	ao	host	comercial).	O	caminho	é	compsci/forouzan/,	que	define	a	
página	Web	do	Forouzan	no	diretório	compsci	(computer science,	ou	ciência	da	computação).
Documentos Web 
Os documentos na WWW podem ser agrupados em três grandes categorias: estáticos, dinâmicos 
e ativos. 
Documentos estáticos Documentos estáticos são documentos de conteúdo fixo criados e armaze-
nados em um servidor. O cliente pode apenas obter uma cópia do documento. Em outras palavras, 
o conteúdo do arquivo é determinado quando este é criado, não quando é usado. Obviamente, os 
conteúdos no servidor podem ser alterados, mas o usuário não pode alterá-los. Quando um cliente 
acessa o documento, uma cópia dele é enviada. O usuário pode, então, usar um navegador para ver 
o documento. Documentos estáticos são preparados usando uma dentre várias linguagens: Lingua-
gem de Marcação de Hipertexto (HTML – Hypertext Markup Language), Linguagem de Marcação 
Extensível (XML – Extensible Markup Language), Linguagem de Estilo Extensível (XSL – Extensible 
Style Language) e Linguagem de Marcação de Hipertexto Extensível (XHTML – Extensible Hy-
pertext Markup Language). Discutiremos essas linguagens no Apêndice C, no site do livro. 
Documentos dinâmicos Um documento dinâmico é criado por um servidor Web sempre que 
um navegador solicita o documento. Quando uma solicitação chega, o servidor Web executa um 
aplicativo ou um script que cria o documento dinamicamente. O servidor retorna o resultado do 
programa ou script como resposta para o navegador que solicitou o documento. Como um novo 
documento é criado para cada solicitação, o conteúdo de um documento dinâmico pode variar 
de um pedido para outro. Um exemplo muito simples de um documento dinâmico é uma página 
contendo a data e a hora de um servidor. A data e a hora são tipos de informações dinâmicas, dado 
que mudam a cada instante. O cliente pode pedir ao servidor que execute um programa tal como 
o programa date no UNIX, e então envie o resultado da execução de volta ao cliente. Embora 
a tecnologia de CGI (Common Gateway Interface) tenha sido bastante usada para recuperar do-
cumentos dinâmicos no passado, opções mais atuais incluem uma linguagem de script, tal como 
JSP (Java Server Pages), que usa a linguagem Java para executar scripts, ou ASP (Active Server 
Pages), um produto da Microsoft que utiliza a linguagem Visual Basic ou ColdFusion, que incor-
pora consultas a um banco de dados SQL (Structured Query Language, ou Linguagem de Consulta 
Estruturada) no documento HTML.
Documentos ativos Para muitas aplicações, precisamos que um programa ou um script seja exe-
cutado no lado do cliente. Estes são chamados documentos ativos. Por exemplo, considere que 
queremos executar um programa que cria gráficos animados na tela ou um programa que interage 
com o usuário. O programa definitivamente precisa ser executado no lado do cliente, onde a ani-
mação ou interação ocorre. Quando um navegador solicita um documento ativo, o servidor envia 
uma cópia do documentoou um script, que é executado no lado do cliente (no navegador). Uma 
maneira de criar um documento ativo é utilizando applets Java, um programa escrito em Java no 
servidor. Ele já está compilado e pronto para ser executado. O documento encontra-se no formato 
de bytecode (binário). Outra forma é usando JavaScripts, mas, dessa vez, obtendo e executando o 
script no lado do cliente. 
Protocolo de Transferência de Hipertexto 
O Protocolo de Transferência de Hipertexto (HTTP – HyperText Transfer Protocol) é um pro-
tocolo usado para definir como os programas cliente-servidor podem ser escritos para recuperar 
48 Capítulo 2 Camada de aplicação
páginas da Web. Um cliente HTTP envia uma solicitação; um servidor HTTP retorna uma resposta. 
O servidor usa o número de porta 80; o cliente usa um número de porta temporário. O HTTP usa os 
serviços do TCP, o qual, conforme discutido anteriormente, é um protocolo orientado à conexão e 
confiável. Isto significa que, antes que ocorra qualquer transação entre o cliente e o servidor, uma 
conexão precisa ser estabelecida entre eles. Após a transação ser efetuada, a conexão deve ser en-
cerrada, mas o cliente e o servidor não precisam se preocupar com erros nas mensagens trocadas ou 
com a perda de mensagens, já que o TCP é confiável e vai cuidar desses problemas, como veremos 
no Capítulo 3.
Conexões não persistentes versus persistentes
Conforme discutimos na seção anterior, o conceito de hipertexto incorporado em páginas Web pode 
exigir vários pedidos e respostas. Se as páginas Web, os objetos a serem recuperados, estiverem 
localizadas em servidores diferentes, não temos outra escolha além de criar uma nova conexão TCP 
para recuperar cada objeto. No entanto, se alguns dos objetos estão localizados no mesmo servi-
dor, temos duas opções: recuperar cada objeto usando uma nova conexão TCP ou criar uma única 
conexão TCP e recuperá-los todos. O primeiro método é denominado conexão não persistente, e o 
segundo, conexão persistente. O HTTP especificava o uso de conexões não persistentes antes de 
sua versão 1.1, e as conexões persistentes são a opção-padrão da versão 1.1, apesar de isso poder 
ser alterado pelo usuário.
Conexões não persistentes Em uma conexão não persistente, uma conexão TCP é criada para 
cada pedido/resposta. Os passos desta estratégia são listados a seguir:
1. O cliente abre uma conexão TCP e envia uma solicitação.
2. O servidor envia a resposta e fecha a conexão.
3. O cliente lê os dados até encontrar um marcador de fim de arquivo; ele, então, fecha a 
conexão.
Nessa estratégia, se um arquivo contém links para N imagens diferentes em diferentes arquivos 
(todos localizados no mesmo servidor), a conexão deve ser aberta e fechada N+1 vezes. A estratégia 
não persistente impõe uma elevada carga computacional no servidor porque o servidor precisa de 
N+1 buffers diferentes cada vez que uma conexão é aberta.
 Exemplo 2.4
A	Figura	2.10	mostra	um	exemplo	de	uma	conexão	não	persistente.	O	cliente	precisa	acessar	um	arquivo	que	
contém	um	link	para	uma	imagem.	O	arquivo	de	texto	e	a	imagem	estão	localizados	no	mesmo	servidor.	Aqui,	
precisamos	de	duas	conexões.	O	TCP	exige	pelo	menos	três	mensagens	de	handshake	para	estabelecer	a	co-
nexão,	mas	a	solicitação	pode	ser	enviada	com	a	terceira	mensagem.	Depois	que	a	conexão	é	estabelecida,	o	
objeto	pode	ser	transferido.	Após	receber	um	objeto,	mais	três	mensagens	de	handshake	são	necessárias	para	
encerrar	a	conexão,	como	veremos	no	Capítulo	3.	Isto	significa	que	o	cliente	e	o	servidor	estão	envolvidos	em	
dois	estabelecimentos	de	conexão	e	dois	encerramentos	de	conexão.	Se	a	transação	envolve	a	recuperação	de	
10	ou	20	objetos,	os	tempos	de	ida	e	volta	das	mensagens	envolvidas	nesses	handshakes	se	somam	para	criar	
uma	grande	carga	computacional.	Quando	descrevermos	a	programação	cliente-servidor	no	 fim	do	capítulo,	
mostraremos	que	para	cada	conexão,	o	cliente	e	o	servidor	precisam	alocar	recursos	adicionais,	como	buffers	e	
variáveis.	Essa	é	uma	outra	carga	adicional	em	ambos	os	lados,	mas	especialmente	no	lado	do	servidor.
Conexões persistentes O HTTP versão 1.1 especifica como padrão o uso de uma conexão persis-
tente. Em uma conexão persistente, o servidor deixa a conexão aberta para outras solicitações após 
o envio de uma resposta. O servidor pode fechar a conexão a pedido de um cliente ou se um tempo 
limite for atingido. O servidor geralmente envia o tamanho dos dados com cada resposta. No entan-
to, existem algumas ocasiões em que o servidor não conhece o tamanho dos dados, como quando 
492.3 Aplicações cliente-servidor padronizadas 
um documento é criado dinâmica ou ativamente. Nesses casos, o servidor informa ao cliente que o 
tamanho não é conhecido e fecha a conexão após o envio dos dados, de modo que o cliente saiba 
que o final dos dados foi atingido. Tempo e recursos são economizados usando conexões persisten-
tes. Apenas um conjunto de buffers e variáveis precisa ser definido para a conexão em cada local. 
O Tempo de Ida e Volta (RTT* – Round Trip Time) para o estabelecimento e para o encerramento 
da conexão é reduzido. 
 Exemplo 2.5
A	Figura	2.11	mostra	o	mesmo	cenário	do	Exemplo	2.4,	mas	usando	uma	conexão	persistente.	Apenas	um	es-
tabelecimento	e	encerramento	de	conexão	são	usados,	mas	a	solicitação	da	imagem	é	enviada	separadamente.
* N. de T.: O RTT corresponde ao tempo necessário para um pacote ir e voltar de seu destino. Esse conceito será 
mais bem explorado no Capítulo 3.
Cliente
C
on
ex
ão
C
on
ex
ão
Arquivo
Imagem
Imagem
Primeiro handshake
Primeiro handshake
Segundo handshake
Segundo handshake
Terceiro handshake + pedido
Terceiro handshake
Resposta
Primeiro handshake
Primeiro handshake
Segundo handshake
Segundo handshake
Terceiro handshake + pedido
Terceiro handshake
Resposta
Tempo Tempo
Servidor
Arquivo
Figura 2.10 Esquema para o Exemplo 2.4.
50 Capítulo 2 Camada de aplicação
Formatos de mensagens 
O protocolo HTTP define o formato das mensagens de pedido e de resposta, conforme apresentado 
na Figura 2.12. Colocamos os dois formatos lado a lado para fins de comparação. Cada mensagem 
é composta de quatro seções: a primeira seção na mensagem de pedido é chamada de linha de so-
licitação, a primeira seção na mensagem de resposta é chamada de linha de estado. As outras três 
seções têm os mesmos nomes nas mensagens de pedido e de resposta. No entanto, as semelhanças 
entre elas estão apenas nos nomes, pois podem ter conteúdos diferentes. Discutiremos cada tipo de 
mensagem separadamente.
Mensagem de pedido Como dissemos anteriormente, a primeira linha em uma mensagem de 
pedido é chamada linha de solicitação. Existem três campos nessa linha separados por um espaço e 
terminados por dois caracteres – retorno de carro (carriage return) e nova linha (line feed) – como 
mostra a Figura 2.12. Os campos são chamados método, URL e versão. 
O campo de método define os tipos de solicitação. Na versão 1.1 do HTTP, vários métodos são 
definidos, conforme mostra a Tabela 2.1. Na maioria das vezes, o cliente utiliza o método GET para 
enviar um pedido, e o corpo da mensagem fica vazio. O método HEAD é usado quando o cliente 
necessita apenas de algumas informações sobre a página Web do servidor, como a última vez em 
que ela foi modificada. Ele também pode ser usado para testar a validade de um URL. A mensagem 
de resposta, nesse caso, tem apenas a seção de cabeçalho, enquanto a seção de corpo fica vazia. O 
método PUT é o inverso do GET, permitindo ao cliente postar uma nova página Web no servidor (se 
for admitido). O método POST é semelhante ao PUT, mas é usado para enviar alguma informação 
para o servidor para ser adicionada à página Web ou para modificá-la. O método TRACE é utilizado 
para depuração; o cliente pede ao servidor que devolva o próprio pedido para verificar se o servi-
dor está recebendo as solicitações. O método DELETE permite que o cliente remova uma página 
Web no servidor se o cliente tiver permissão para fazê-lo.O método CONNECT foi originalmente 
C
on
ex
ão
Primeiro handshake
Primeiro handshake
Segundo handshake
Segundo handshake
Terceiro handshake + pedido
Pedido
Terceiro handshake
Resposta
Resposta
Tempo Tempo
Imagem
Servidor
ArquivoCliente
Arquivo
Imagem
Figura 2.11 Esquema para o Exemplo 2.5.
512.3 Aplicações cliente-servidor padronizadas 
criado como um método reservado; pode ser usado por servidores proxy, conforme discutido mais 
adiante. Finalmente, o método OPTIONS permite que o cliente pergunte sobre as propriedades de 
uma página Web.
tabela 2.1 Métodos
Método Ação
GET Solicita	um	documento	ao	servidor	
HEAD Solicita	informações	sobre	um	documento,	mas	não	o	documento	em	si	
PUT Envia	um	documento	do	cliente	para	o	servidor	
POST Envia	alguma	informação	do	cliente	para	o	servidor	
TRACE Ecoa	a	solicitação	recebida	
DELETE Remove	a	página	Web
CONNECT Reservado	
OPTIONS Consulta	opções	disponíveis	
O segundo campo, URL, foi discutido anteriormente neste capítulo. Ele define o endereço e 
o nome da página Web correspondente. O terceiro campo, versão, mostra a versão do protocolo; a 
mais atual do HTTP é 1.1.
Após a linha de solicitação, podemos ter zero ou mais linhas de cabeçalho de solicitação. Cada 
linha de cabeçalho envia informações adicionais do cliente para o servidor. Por exemplo, o cliente 
pode solicitar que o documento seja enviado em um formato especial. Cada linha de cabeçalho tem 
um nome de cabeçalho, um caractere de dois pontos ( : ), um espaço e um valor de cabeçalho (ver 
Figura 2.12). A Tabela 2.2 mostra alguns nomes de cabeçalho geralmente usados em uma solicita-
ção. O campo valor define os valores associados a cada nome do cabeçalho. A lista de valores pode 
ser encontrada nas RFCs correspondentes.
O corpo pode estar presente em uma mensagem de solicitação, e costuma conter o comentário 
a ser enviado ou o arquivo a ser publicado no site quando o método é PUT ou POST.
Figura 2.12 Formatos das mensagens de pedido e resposta.
Linha de
solicitação
Linha de
cabeçalho
Legenda
Mensagem de pedido Mensagem de resposta
Linha em
branco
Corpo
sp: Spaço cr: Retorno de carro lf: Nova linha
cr lf
sp sp cr lfMétodo URL Versão
sp
sp
cr lf:Nome do cabeçalho Valor
cr lf: Valor
Linha de
estado
Linha de
cabeçalho
Número variável de linhas
(Presente apenas em algumas mensagens)
Número variável de linhas
(Presente apenas em algumas mensagens)
Corpo
cr lf
sp sp cr lfVersão Frase
sp
sp
cr lf:
:
Valor
cr lfValor
Código
de estado
Linha em
branco
Nome do cabeçalho
Nome do cabeçalho
Nome do cabeçalho
52 Capítulo 2 Camada de aplicação
tabela 2.2 Nomes	de	cabeçalho	de	solicitação.
Cabeçalho Descrição
User-agent Identifica	o	programa-cliente	
Accept Mostra	o	formato	de	mídia	que	o	cliente	pode	aceitar	
Accept-charset Mostra	o	conjunto	de	caracteres	que	o	cliente	pode	manipular	
Accept-encoding Mostra	o	esquema	de	codificação	que	o	cliente	pode	manipular	
Accept-language Mostra	o	idioma	que	o	cliente	pode	aceitar	
Authorization Mostra	quais	permissões	o	cliente	tem	
Host Mostra	o	host	e	o	número	de	porta	do	cliente	
Date Mostra	a	data	atual	
Upgrade Especifica	o	protocolo	de	comunicação	preferencial	
Cookie Devolve	o	cookie	para	o	servidor	(explicado	mais	adiante)	
If-Modified-Since Se	o	arquivo	foi	modificado	desde	uma	data	específica
Mensagem de resposta O formato da mensagem de resposta também é mostrado na Figura 2.12. 
A mensagem de resposta consiste em uma linha de estado, linhas de cabeçalho, uma linha em branco, 
e às vezes um corpo. A primeira linha em uma mensagem de resposta é chamada linha de estado. 
Existem três campos nessa linha separados por espaços e terminados por um retorno de carro e uma 
nova de linha. O primeiro campo define a versão do protocolo HTTP, atualmente 1.1. O campo de có-
digo de estado define o estado do pedido. Ele consiste em três dígitos. Enquanto os códigos na faixa de 
100 a 199 são apenas informativos, os códigos na faixa de 200 a 299 indicam o sucesso da solicitação. 
Os códigos na faixa de 300 a 399 redirecionam o cliente para outro URL, e os códigos na faixa de 400 
a 499 indicam um erro no lado do cliente. Finalmente, os códigos na faixa de 500 a 599 indicam um 
erro no lado do servidor. A frase de estado explica o código do estado em formato de texto. 
Após a linha de estado, pode haver zero ou mais linhas de cabeçalho de resposta, e cada uma 
envia informações adicionais do servidor para o cliente. Por exemplo, o remetente pode enviar 
informações adicionais sobre o documento. Cada linha de cabeçalho tem um nome de cabeçalho, 
um caractere de dois pontos ( : ), um espaço, e um valor do cabeçalho. Mostraremos algumas linhas 
de cabeçalho nos exemplos ao final desta seção. A Tabela 2.3 mostra alguns nomes de cabeçalho 
geralmente usados em uma mensagem de resposta. 
tabela 2.3 Nomes	de	cabeçalho	de	resposta.
Cabeçalho Descrição
Date Mostra	a	data	atual	
Upgrade Especifica	o	protocolo	de	comunicação	preferencial
Server Fornece	informações	sobre	o	servidor	
Set-Cookie O	servidor	pede	ao	cliente	que	salve	um	cookie	
Content-Encoding Especifica	o	esquema	de	codificação
(Continua	)
532.3 Aplicações cliente-servidor padronizadas 
tabela 2.3 Nomes	de	cabeçalho	de	resposta.
Cabeçalho Descrição
Content-Language Especifica	o	idioma	
Content-Length Mostra	o	comprimento	do	documento	
Content-Type	 Especifica	o	tipo	de	mídia	
Location Para	pedir	ao	cliente	que	envie	o	pedido	a	outro	site
Accept-Ranges O	servidor	aceitará	as	faixas	de	byte	requisitadas
Last-modified Fornece	a	data	e	a	hora	da	última	alteração
O corpo contém o documento a ser enviado pelo servidor para o cliente. O corpo está sempre 
presente, a não ser que a resposta seja uma mensagem de erro.
 Exemplo 2.6
Esse	exemplo	recupera	um	documento	(ver	Figura	2.13).	Usamos	o	método	GET	para	recuperar	uma	imagem	
com	o	caminho	 /usr/bin/imagem1.	A	 linha	de	solicitação	mostra	o	método	 (GET),	o	URL	e	a	versão	do	HTTP	
(1.1).	O	cabeçalho	tem	duas	linhas	que	mostram	que	o	cliente	pode	aceitar	imagens	no	formato	GIF	ou	JPEG.	O	
pedido	não	tem	um	corpo.	A	mensagem	de	resposta	contém	a	linha	de	estado	e	quatro	linhas	de	cabeçalho	que	
definem	a	data,	o	servidor,	a	codificação	do	conteúdo	(versão	do	MIME,	que	será	descrito	quando	discutirmos	
sobre	correio	eletrônico)	e	o	comprimento	do	documento.	O	corpo	do	documento	vem	depois	do	cabeçalho.	
Pedido
Resposta
GET /usr/bin/imagem1 HTTP/1.1
Accept: imagem/gif
Accept: imagem/jpeg
HTTP/1.1 200 OK
Date: Mon, 10-Jan-2011 13:15:14 GMT
Server: Challenger
Content-encoding: MIME-versão 1.0
Content-length: 2048
(Corpo do documento)
Cliente
Servidor
2
1
Tempo Tempo
Figura 2.13 Esquema para o Exemplo 2.6.
 Exemplo 2.7
Nesse	 exemplo,	 o	 cliente	 deseja	 enviar	 uma	 página	Web	 para	 ser	 publicada	 no	 servidor.	 Usamos	 o	 método	
PUT,	e	a	linha	de	solicitação	mostra	o	método	(PUT),	o	URL	e	a	versão	do	HTTP	(1.1).	Existem	quatro	linhas	de	
cabeçalhos.	O	corpo	da	solicitação	contém	a	página	Web	a	ser	publicada.	A	mensagem	de	resposta	contém	
a	linha	de	estado	e	quatro	linhas	de	cabeçalhos.	O	documento	criado,	que	é	um	documento	CGI,	é	fornecido	
como	o	corpo	(ver	Figura	2.14).
(Continuação)
54 Capítulo 2 Camada de aplicação
Pedido condicional 
Um cliente pode adicionar uma condição em seu pedido. Nesse caso, o servidor enviará a página 
Web solicitada se a condição for satisfeita, ou informará o cliente caso contrário. Uma das condi-
ções mais comuns impostas pelo cliente refere-se à data e hora em que a página Web foi modificada. 
O cliente pode enviar a linha de cabeçalho If-Modified-Since com o pedido para notificar ao servi-
dor que precisa da página apenas se ela foi modificado após um certo ponto.
 Exemplo 2.8
O	exemplo	a	seguir	mostra	como	um	cliente	pode	impor	a	condição	de	data	e	hora	de	modificação	em	um	pedido.
GET	http://www.commonServer.com/information/arquivo1	HTTP/1.1 linha de solicitação
If-Modified-Since:	Thu,	Sept	04	00:00:00	GMTlinha de cabeçalho
linha em branco
A	linha	de	estado	na	resposta	mostra	que	o	arquivo	não	foi	modificado	após	o	instante	de	tempo	definido.	
O	corpo	da	mensagem	de	resposta	também	se	encontra	vazio.
HTTP/1.1	304	Not	Modified linha de estado
Date:	Sat,	Sept	06	08	16:22:46	GMT primeira linha de cabeçalho
Server:	commonServer.com Segunda linha de cabeçalho
linha em branco
(Corpo	vazio) Corpo vazio
Pedido
Resposta
(Corpo do documento)
Cliente
Servidor
PUT /cgi-bin/doc.pl HTTP/1.1
Accept: */*
Accept: image/gif
Accept: image/jpeg
Content-length: 50
(Informação fornecida)
HTTP/1.1 200 OK
Date: Mon, 10-Jan-2011 13:15:14 GMT
Server: Challenger
Content-encoding: MIME-version 1.0
Content-length: 2000
1
2
Tempo Tempo
Figura 2.14 Esquema para o Exemplo 2.7.
552.3 Aplicações cliente-servidor padronizadas 
Cookies 
A World Wide Web foi originalmente concebida como uma entidade sem estado. Um cliente envia 
um pedido; um servidor responde, e o relacionamento entre as duas partes acaba aí. O propósito 
original da Web, a recuperação de documentos publicamente disponíveis, se encaixa perfeitamente 
nessa estrutura. Entretanto, a Web atual tem outras funcionalidades que precisam se lembrar de 
algumas informações sobre os clientes; algumas delas estão listadas a seguir:
 � Sites estão sendo usados como lojas virtuais, permitindo que os usuários naveguem pela 
loja, selecionem os itens desejados, coloque-os em um carrinho de compras virtual e pa-
guem no final com um cartão de crédito.
 � Alguns sites precisam permitir o acesso apenas a clientes registrados. 
 � Alguns sites são usados como portais: o usuário seleciona as páginas Web que ele deseja ver. 
 � Alguns sites são apenas agências de publicidade. 
Para esses fins, o mecanismo de cookies (cuja tradução literal seria “biscoito”) foi criado. 
Criando e armazenando cookies A criação e o armazenamento de cookies dependem da imple-
mentação; no entanto, o princípio básico permanece o mesmo. 
1. Quando um servidor recebe um pedido de um cliente, ele armazena informações sobre 
o cliente em um arquivo ou em uma cadeia de caracteres. As informações podem incluir o 
nome de domínio do cliente, o conteúdo do cookie (informações que o servidor reuniu so-
bre o cliente, como nome, número da carteira de identidade etc.), um timestamp (registro 
de horário), e outras informações, dependendo da implementação. 
2. O servidor inclui o cookie na resposta que envia ao cliente. 
3. Quando o cliente recebe a resposta, seu navegador armazena o cookie no diretório de 
cookies, que é ordenado pelo nome de domínio do servidor. 
Usando cookies Quando um cliente envia um pedido para um servidor, o navegador procura no 
diretório de cookies algum cookie enviado por aquele servidor. Caso seja encontrado, o cookie é 
incluído no pedido. Quando o servidor recebe o pedido, ele sabe que aquele é um cliente antigo, 
não um novo. Perceba que o conteúdo do cookie nunca é lido pelo navegador ou divulgado para o 
usuário. É um cookie “preparado” pelo servidor e “comido” pelo servidor. Agora, vejamos como 
um cookie é usado para os quatro propósitos mencionados anteriormente: 
 � Uma loja virtual (e-commerce) pode usar um cookie para seus clientes comprado-
res. Quando um cliente escolhe um item e o insere em um carrinho, um cookie que 
contém informações sobre o item, como seu número e preço unitário, é enviado para 
o navegador. Se o cliente selecionar um segundo item, o cookie é atualizado com 
informações sobre a nova seleção, e assim por diante. Quando o cliente termina suas 
compras e deseja realizar o pagamento, o último cookie é recuperado e o preço total 
é calculado. 
 � O site que restringe o acesso apenas a clientes cadastrados envia o cookie para o cliente 
quando este se registra pela primeira vez. Para qualquer futuro acesso, apenas os clientes que 
enviam o cookie apropriado são autorizados.
 � Um portal Web usa o cookie de uma maneira similar. Quando um usuário seleciona suas 
páginas favoritas, um cookie é criado e enviado. Se o site é acessado novamente, o cookie 
é enviado para o servidor para mostrar o que o cliente está procurando. 
 � Cookies também são usados por agências de publicidade. Uma agência de publicida-
de pode colocar anúncios (banners) publicitários em algum site principal que é fre-
quentemente visitado por usuários. A agência de publicidade provê apenas um URL 
56 Capítulo 2 Camada de aplicação
que fornece o endereço da agência de publicidade e não o banner em si. Quando um 
usuário visita o site principal e clica no ícone de uma empresa, um pedido é enviado à 
agência de publicidade, que envia o banner solicitado, mas também inclui um cookie 
com o ID do usuário. Qualquer uso futuro dos banners adiciona informações ao banco 
de dados com relação ao perfil de comportamento daquele usuário na Web. A agência 
de publicidade pode compilar os interesses do usuário e então vender essa informação 
a terceiros. Esse uso de cookies os tornou bastante controverso. Espera-se que alguma 
nova regra seja elaborada para preservar a privacidade dos usuários.
 Exemplo 2.9
A	Figura	2.15	mostra	um	cenário	em	que	uma	loja	virtual	pode	se	beneficiar	do	uso	de	cookies.
Tempo Tempo
Um arquivo de cliente
é criado com o ID: 12343
Atualiza
Atualiza
Atualiza
Pedido
Resposta
GET Melhoresbrinquedos.com HTTP/1.1
HTTP/1.1 200 OK
Página apresentando os brinquedos
Cliente Servidor
2
3
4
5
6
1
Pedido
Pedido
GET image HTTP/1.1
Set-Cookie: 12343
Resposta
HTTP/1.1 200 OK
Página apresentando o preço
Resposta
HTTP/1.1 200 OK
Confirmação da encomenda
Cookie: 12343
GET image HTTP/1.1
Cookie: 12343
Informação sobre o pagamento
Um arquivo de vendedor
é criado com o ID: 12343
Cookie
Cookie
Figura 2.15 Esquema para o Exemplo 2.9.
572.3 Aplicações cliente-servidor padronizadas 
Considere que um comprador quer adquirir um brinquedo de uma loja virtual chamada Me-
lhoresBrinquedos. O navegador do comprador (cliente) envia um pedido para o servidor Melho-
resBrinquedos. O servidor cria um carrinho de compras vazio (uma lista) para o cliente e atribui 
um ID para o carrinho de compras (por exemplo, 12343). O servidor, então, envia uma mensagem 
de resposta, que contém as imagens de todos os brinquedos disponíveis e um link associado a 
cada brinquedo; quando clicado, o link seleciona o brinquedo. A mensagem de resposta também 
inclui a linha de cabeçalho Set-Cookie cujo valor é 12343. O cliente exibe as imagens e armazena 
o valor do cookie em um arquivo chamado MelhoresBrinquedos. O cookie não é revelado ao 
comprador. Então, o comprador seleciona um dos brinquedos e clica sobre ele. O cliente envia 
um pedido, incluindo o ID 12343 na linha de cabeçalho de Cookie. Embora o servidor possa ter 
ficado ocupado e tenha esquecido desse comprador, ao receber o pedido e verificar o cabeçalho, 
ele encontra o valor 12343 como o valor do cookie. O servidor sabe que não se trata de um novo 
cliente; procura um carrinho de compras com o ID 12343. O carrinho de compras (lista) é aberto 
e o brinquedo selecionado é inserido na lista. O servidor envia, então, uma outra resposta ao 
comprador para informar o preço total e pedir a ele que efetue o pagamento. O comprador fornece 
informações sobre seu cartão de crédito e envia um novo pedido com o ID 12343 com o valor do 
cookie. Quando o pedido chega ao servidor, ele vê novamente o ID 12343 e aceita a encomenda 
e o pagamento, então envia uma confirmação na resposta. Outras informações sobre o cliente são 
armazenadas no servidor. Se o cliente acessar a loja no futuro, enviará o cookie novamente; a loja 
recuperará o arquivo e terá todas as informações sobre aquele cliente. 
Armazenamento temporário na Web: servidor proxy
O HTTP suporta servidores proxy. Um servidor proxy é um computador que mantém cópias de res-
postas a pedidos recentes. O cliente envia uma requisição HTTP ao servidor proxy, que verifica seu 
cache (memória de armazenamento temporário). Se a respostanão estiver armazenada no cache, o 
servidor proxy envia a solicitação para o servidor correspondente. Respostas recebidas são enviadas 
para o servidor proxy e armazenadas para futuras solicitações de outros clientes.
O servidor proxy reduz a carga no servidor original, diminui o tráfego e melhora a latência, 
mas, para usá-lo, o cliente deve ser configurado para acessar o proxy e não o servidor de destino.
Perceba que o servidor proxy funciona como servidor e cliente. Quando ele recebe de um 
cliente um pedido para o qual tem uma resposta, ele atua como um servidor e envia a resposta para 
o cliente. Quando recebe de um cliente um pedido para o qual ele não tem uma resposta, e primeiro 
atua como um cliente e envia um pedido para o servidor-alvo. Após a resposta ser recebida, ele atua 
novamente como um servidor e envia a resposta para o cliente.
Localização do servidor proxy
Os servidores proxy costumam ficar localizados no lado do cliente. Isso significa que podemos ter 
uma hierarquia de servidores proxy, como mostrado a seguir: 
1. Um computador cliente pode também ser usado como um servidor proxy, com pequena 
capacidade, que armazena as respostas às solicitações frequentemente feitas pelo cliente. 
2. Em uma empresa, um servidor proxy pode ser instalado na LAN para reduzir seu tráfego 
de entrada e saída. 
3. Um ISP com muitos clientes pode instalar um servidor proxy para reduzir o tráfego de 
entrada e saída na rede daquele ISP. 
 Exemplo 2.10
A	Figura	2.16	mostra	um	exemplo	de	uso	de	um	servidor	proxy	em	uma	rede	local,	tal	como	uma	rede	em	um	
campus	ou	em	uma	empresa.	O	servidor	proxy	está	 instalado	na	rede	 local.	Quando	uma	solicitação	HTTP	é	
criada	por	qualquer	um	dos	clientes	(navegadores),	o	pedido	é	primeiramente	direcionado	para	o	servidor	proxy;	
58 Capítulo 2 Camada de aplicação
Figura 2.16 Exemplo de um servidor proxy.
seestejátemapáginaWebcorrespondente,enviaarespostaaocliente.Casocontrário,oservidorproxyfun-
cionacomoumclienteeenviaopedidoaoservidorWebnaInternet.Quandoarespostaédevolvida,oservidor
proxycriaumacópiadelaeaarmazenaemseucacheantesdeenviá-laparaoclientesolicitante.
Atualização de cache
Uma questão muito importante é quanto tempo uma resposta deve permanecer no servidor proxy 
antes de ser eliminada e substituída. Várias estratégias diferentes são usadas para essa finalidade. 
Uma solução é armazenar a lista de sites cuja informação permanece inalterada por algum tempo. 
Por exemplo, uma agência de notícias pode mudar sua página de notícias todas as manhãs. Isso 
significa que um servidor proxy pode receber as notícias no início da manhã e mantê-las até o dia 
seguinte. Outra recomendação é adicionar alguns cabeçalhos para mostrar o instante da última mo-
dificação das informações. O servidor proxy pode, então, usar as informações contidas no cabeçalho 
para estimar por quanto tempo a informação pode ser válida.
SegurançadoHTTP
O HTTP em si não fornece segurança. Entretanto, como mostraremos no Capítulo 10, o HTTP pode 
ser executado sobre a Camada de Sockets Segura (SSL – Secure Layer). Nesse caso, o HTTP é 
denominado HTTPS, que fornece confidencialidade, autenticação do cliente/servidor e integridade 
dos dados.
 
Servidor
Web
Servidor
Web
Servidor
Web
Servidor
Web
Cliente Cliente Cliente
Servidor
proxy
WAN
Rede local
Internet

Mais conteúdos dessa disciplina