Você está na página 1de 8

UNIVERSIDADE DO ALGARVE

Instituto Superior de Engenharia


E
Escola Superior de Gesto, Hotelaria e Turismo
TeSP Sistemas e Tecnologias de Informao
1Ano - 2Semestre

Relatrio Protocolo HTTP


HyperText Transfer Protocol

Produo de Contedos Web


Roberto Lam

Jos Pedro Nunes Rocha, aluno n 55681

Faro, 21 de Maro de 2016

ndice Geral

Introduo..........................................................................................................3
Historia..............................................................................................................3
Como funciona o protocolo HTTP....................................................................4
Esquema de comunicao..................................................................................5
Exemplo Pratico................................................................................................6
Requesio do cliente........................................................................................6
Resposta do servidor..........................................................................................7
Concluso..........................................................................................................7
Netgrafia............................................................................................................8

Introduo
O objectivo deste relatrio apresentar o estudo sobre o protocolo HTTP e a sua
comunicao cliente-servidor.
Como tal foi estudado o protocolo HTPP incidindo nos trs mtodos que mais se
usa no referido protocolo.
Antes de iniciarmos iremos conhecer um pouco da sua histria.

Historia
O nome do HTTP HyperText Transfer Protocol e um protocolo responsvel
pelo tratamento de pedidos e respostas entre cliente e servidor na WWW.
Nasce devido a necessidade de criar um padro na comunicao de dados na
WWW e na capacidade de transferir, no s texto bem como outros dados entre os
clientes (browsers) e servidores (servidores web) atravs do uso de regras bsicas.
A sua primeira verso designada por HTTP/0.9, nasce em 1990, como um
simples protocolo de transferncia de dados apenas em formato ASCII, o qual inclua
apenas um nico mtodo de requisio denominado de GET
Com a verso HTTP/1.0 lanada em 1992 e desenvolvida at 1996 includa a
capacidade de transferir tambm mais dados do tipo MIME44 (Multipurpose Internet
Mail Extension) e includos tambm novos mtodos de requisio, denominados de
POST e HEAD.
Em 1999 lanada a verso HTTP/1.1 que inclui novos mtodos de requisio
denominados de PUT, DELETE, TRACE, OPTIONS e CONNECT. Esta verso foi
melhorada at 2014.
J em 2015 anunciada a verso http/2.0, a qual deixar o navegador com um
tempo de resposta melhor e mais seguro e melhorar a navegao em smartphones.
Com a nova verso veio tambm um conjunto de implementaes adicionais
sendo as mais notveis, o uso de conexes persistentes e o uso de servidores proxy.

Normalmente este protocolo usa a porta 80, que por curiosidade foi adotada
devido a sua no utilizao por nenhum outro protocolo como norma da ICANN,
ficando oficialmente designada a porta 80 ao protocolo HTTP/1.0 em 1992.

Como funciona o protocolo HTTP


O HTTP funciona com base numa requisio / resposta por parte do cliente
/servidor. Um programa requisitante (cliente) executa uma conexo a um programa
receptor (servidor), o cliente faz uma requisio ao servidor, obtendo deste uma resposta
para o cliente, com a informao do estado da requisio e que pode tambm conter o
contedo solicitado no contedo da mensagem e termina a conexo.
O HTTP utiliza o protocolo TCP/IP para executar a conexo entre o cliente e
servidor.
Em pratica temos o seguinte ciclo:

O HTTP utiliza o modelo cliente-servidor, como a maioria dos protocolos de


rede, baseando-se no paradigma de requisio e resposta. Um programa requisitante
(cliente) estabelece uma conexo com um outro programa receptor (servidor) e envialhe uma requisio, contendo a URI, a verso do protocolo, uma mensagem MIME
(padro utilizado para codificar dados em formato de textos ASCII para serem
transmitidos pela Internet) contendo os modificadores da requisio, informaes sobre
o cliente e, possivelmente, o contedo no corpo da mensagem. O servidor responde com
uma linha de status, incluindo sua verso de protocolo e um cdigo de operao bem
sucedida ou um cdigo de erro, seguido pelas informaes do servidor, meta

informaes da entidade e possvel contedo no corpo da mensagem. Aps o envio da


resposta pelo servidor, encerra-se a conexo estabelecida.

Esquema de comunicao
Requisio bsica de HTTP pelo cliente:
GET <ficheiro> HTTP/1.1
Host: <ip>
User-Agent: <Agente>
Connection: <tipo>
Na primeira linha temos a requisio que composta por trs partes separadas
por espaos: o mtodo que neste caso o GET, a identificao do URI (Identificador
Universal de Recurso) e a verso do HTTP utilizado.
Na segunda linha temos o URL (Localizador Universal de Recurso).
Na terceira linha temos o agente que ser a identificao do browser.
E na quarta linha o tipo de ligao normalmente utilizado para ligaes
persistentes introduzido com o protocolo http/1.1 .
Resposta bsica de HTTP pelo servidor:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Connection: close
Na primeira linha temos a verso do HTTP, o cdigo e descrio do estado da
ligao.
Na segunda linha temos a data da resposta baseada na data servidor.
Na terceira linha temos a identificao do servidor utilizado.
Na quarta linha o tipo de ligao.

Exemplo Pratico
Iremos utilizar o browser Chrome e o plug in Live http Headers, a linha
selecionada mostra a requisio e a resposta depois de chamado o URL www.google.pt

Requesio do cliente
GET / HTTP/1.1
Host: www.google.pt:443
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;
q=0.8
Accept-Encoding: gzip, deflate, sdch
Accept-Language: pt-PT,pt;q=0.8,en-US;q=0.6,en;q=0.4
Cookie: CONSENT=YES+PT.pt-PT+V7; OGPC=5061899-15:50619212:4061130-2:103910400-5:5061968-1:; NID=77=jZI6tLKfMNQPuijuyIqdtLyY-eXh4KxguvU70CFXLF5IxeIy6Uwm-

Z9nmMYtzOEs5Wpvo9TTFEXzs6oBx5dOW3qyPsv8JvttIkK5PADoDCe9X52S3ZUmNI-Wz8YphZpzO30Sg
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36
X-Chrome-UMA-Enabled: 1
X-Client-Data: CJK2yQEIpbbJAQjBtskBCMOJygEI/ZXKAQ==

Resposta do servidor
HTTP/1.1 200
alt-svc: quic=":443"; ma=2592000; v="31,30,29,28,27,26,25"
alternate-protocol: 443:quic,p=1
cache-control: private, max-age=0
content-encoding: gzip
content-type: text/html; charset=UTF-8
date: Mon, 21 Mar 2016 19:04:26 GMT
expires: -1
server: gws
status: 200
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block

Concluso
Como podemos observar por de trs dos cliques e pesquisas que efectuamos
existem muitos processos e procedimentos que so efectuados sem que nos
apercebamos.
Para muitos tudo isto ainda tabu, mesmo para pessoas que trabalham com este
protocolo e que desconhecem o seu funcionamento como era o meu caso.
Mas aprofundado o conhecimento, e conhecendo o seu funcionamento, teremos
bases para seleccionar os melhores mtodos a aplicar, a despistar possveis bugs, a
implementar melhorias ou apenas ter acesso a mais informaes disponibilizadas pelo
protocolo nas suas requisies e respostas.
7

Sem dvida que na era tecnolgica que vivemos seja surpreendente o uso de tal
ferramenta baseado na data da sua criao.

Netgrafia

https://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol
http://docstore.mik.ua/orelly/webprog/webnut/ch17_01.htm