Vous êtes sur la page 1sur 12

Protocolo HTTP

Marcondes Maçaneiro
Desenvolvimento WEB
Introdução ao Protocolo HTTP
Fonte: http://www.obasicodaweb.com/introducao-ao-http

HTTP é um protocolo, uma série de regras que definem como um


determinado diálogo deve ser conduzido. Basicamente o protocolo
define que perguntas podem ser feitas, e que respostas podem ser
dadas a cada uma delas. Nesse diálogo, quem faz as perguntas (ou
requisições) é o cliente HTTP — também chamado de user agent,
que pode ser um browser, um robô (googlebot é um exemplo), um
leitor de tela, um script, ou qualquer outro programa que conheça e
saiba como seguir o protocolo. Quem dá as respostas é o servidor
HTTP (ou servidor web). Os dois servidores HTTP que dominam
a quase totalidade do mercado hoje em dia são o Apache, da
Apache Foundation e o IIS, da microsoft.
HTTP - O diálogo
● Exemplo “Pergunta” ou Requisição

GET / HTTP/1.1
Host: dominio.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text
/plain;q=0.8,image/png,*/*;q=0.5
HTTP - O diálogo
● Resposta

HTTP/1.x 200 OK
Date: Mon, 12 Dec 2005 04:15:03 GMT
Server: Apache/1.3.33 (Unix) DAV/1.0.3 mod_fastcgi/
2.4.2 mod_gzip/1.3.26.1a PHP/4.3.10 mod_ssl/2.8.22
OpenSSL/0.9.7e
Content-Type: text/html; charset=UTF-8
Protocolo HTTP: códigos de resposta
mais comuns e seus significados
Fonte: http://www.obasicodaweb.com/http-codigos-de-resposta-mais-comuns-e-seus-significados
Ao receber essa requisição, o servidor procura pelo recurso
requisitado e envia uma resposta ao cliente. Essa resposta contém
um código de resposta, que consiste de um número e uma pequena
descrição padrão do código. São vários os códigos possíveis, mas
por enquanto vamos dar uma olhada nos mais comuns. Os códigos
de resposta seguem a seguinte numeração: começados com 1
(1XX), que são códigos informativos; 2XX, que indicam sucesso;
3XX que reportam um redirecionamento; 4XX, que informam erros
acontecidos no cliente e 5XX, erros no servidor.
Fonte: http://pt.kioskea.net/contents/internet/http.php3
http://livehttpheaders.mozdev.org/
● Para visualizar o diálogo HTTP ao requisitar uma
página web instale um complemento do Firefox
chamado LiveHTTPHeaders. Esse complemento
pode ser baixado no site acima.

● Vejamos ele em Funcionamento


Termos e Definições
HTTP - Hypertext Transfer Protocol (Protocolo de transferência de
Hipertexto). Protocolo criado para possibilitar o tráfego de informações
com hipertexto na web. Veja o post Introdução ao HTTP.

Hipertexto - Texto que contém internamente referências a outros textos


ou documentos. Na web, o que caracteriza essas referências são os
hiperlinks, ou simplesmente links.

User agent - Uma aplicação que age como cliente em uma transação
cliente-servidor feita sobre um determinado protocolo de rede. Na web
esse protocolo é o HTTP e os user-agents são os browsers, crawlers,
dispositivos móveis, leitores de tela, painéis em braile e qualquer outra
aplicação usada por um usuário para navegar por páginas web.

Leia mais em: http://www.obasicodaweb.com/termos-e-definicoes


Protocolo HTTP: métodos de requisição
● O método de requisição é o primeiro dado enviado
pelo user-agent ao fazer uma requisição HTTP ao
servidor.
● Vamos usar o código de exemplo do post de
introdução ao protocolo HTTP.
● Vejamos a primeira linha de uma requisição HTTP
de exemplo: GET / HTTP/1.1

Fonte: http://www.obasicodaweb.com/http-metodos-requisicao
HTTP GET
● Essa linha informa que a requisição se trata de uma
recuperação de dados (método GET), usando o
protocolo HTTP, versão 1.1. Esse método, GET, é
justamente o primeiro de que vamos tratar,
principalmente pelo fato de ser ele o método usado
como padrão por qualquer user-agent e, por isso,
ser, de longe, o método mais usado. O método GET
tem duas propriedades importantes: deve ser seguro
(safe) e idempotente (idempotent).
HTTP GET
● ATENÇÃO!!!! Ser seguro significa que o método não deve ser
usado para produzir mudanças nos dados que estão no servidor.
Ou seja, nunca se deve usar o método GET para, por exemplo,
atualizar um dado em um banco de dados.

● Idempotente quer dizer que múltiplas requisições ao mesmo


recurso usando o método devem ter o mesmo resultado que teria
uma requisição apenas. A título de curiosidade, idempotente é a
propriedade de um número que, multiplicado por ele mesmo,
tem ele mesmo como resultado (n x n = n), em termos de
números reais, apenas 0 e 1 têm essa propriedade.
HTTP - Métodos
Na disciplina usaremos os Métodos GET e POST os demais métodos não serão foco.
Mais detalhes podemos procurar em livros e na internet.
http://wagnerelias.com/2009/02/06/http-essentials/
http://pt.wikipedia.org/wiki/HTTP

Vous aimerez peut-être aussi