Http conceitos
Click here to load reader
-
Upload
thiagosenac -
Category
Documents
-
view
826 -
download
0
Transcript of Http conceitos
Protocolo HTTP
O que é e como
funciona
Thiago Morais
Segurança da Informação
1o Período – Noturno
Outubro / 2012
Sumário
Definição e História Pág. 1
Clientes HTTP Pág. 1
Servidores HTTP Pág. 1
Pedido HTTP (HTTP Request) Pág. 2
Métodos Pág. 2
URI Pág. 2
Informações Adicionais Pág. 2
Resposta HTTP (HTTP Response) Pág. 3
Status Pág. 3
Descrição da Informação Pág. 3
Tipos MIME Pág. 4
Bibliografia Pág. 4
Definição e HistóriaO HyperText Transfer Protocol é um protocolo de aplicação responsável pelo tratamento
de pedidos e respostas entre cliente e servidor na World Wide Web. Ele surgiu da necessidade
de distribuir informações pela Internet e para que essa distribuição fosse possível foi necessário
criar uma forma padronizada de comunicação entre os clientes e os servidores da Web e
entendida por todos os computadores ligados à Internet. Com isso, o protocolo HTTP passou a
ser utilizado para a comunicação entre computadores na Internet e a especifcar como seriam
realizadas as transações entre clientes e servidores, através do uso de regras básicas.
Este protocolo tem sido usado pela WWW desde 1990. A primeira versão de HTTP,
chamada HTTP/0.9, era um protocolo simples para a transferência de dados no formato de texto
ASCII pela Internet, através de um único método de requisição, chamado GET. A versão HTTP/1.0
foi desenvolvida entre 1992 e 1996 para suprir a necessidade de transferir não apenas texto.
Com essa versão, o protocolo passou a transferir mensagens do tipo MIME44 (Multipurpose
Internet Mail Extension) e foram implementados novos métodos de requisição, chamados POST
e HEAD.
No HTTP/1.1, versão atual do protocolo descrito na RFC 2616, foi desenvolvido um
conjunto de implementações adicionais ao HTTP/1.0, como por exemplo: o uso de conexões
persistentes; o uso de servidores proxy que permitem uma melhor organização da cache; novos
métodos de requisições; entre outros. Afrma-se que o HTTP também é usado como um
protocolo genérico para comunicação entre os agentes de utilizadores e proxies/gateways com
outros protocolos, como o SMTP, NNTP, FTP, Gopher, e WAIS, permitindo o acesso a recursos
disponíveis em aplicações diversas.
Clientes HTTPOs clientes de uma conexão HTTP são os browsers. Atualmente dois browsers se
destacam no mercado: Firefox, da Mozilla Foundation e Internet Explorer, da Microsoft. Ambos
são gratuitos.
Servidores HTTPOs servidores de uma conexão HTTP são os servidores Web. Os servidores Web de maior
destaque atualmente no mercado são: Apache, IIS e Nginx. Existem servidores gratuitos e
comerciais.
Página 1
Pedido HTTP (HTTP Request)Um pedido HTTP é composto de quatro partes básicas:
- O método: Ação a ser realizada;
- A URI (Universal Resource Identifer): A informação requisitada;
- A versão do protocolo HTTP;
- Informações adicionais.
MétodosOs métodos podem ser:
- GET: Retorna o objeto, ou seja, a informação requisitada;
- HEAD: Retorna somente informações sobre o objeto, como tamanho, data de criação e outros;
- POST: Envia informações para o servidor Web. Método utilizado por scripts;
- PUT: Envia uma cópia de um objeto/informação para ser armazenado num servidor Web;
- DELETE: Apaga um objeto armazenado no servidor Web.
URIO tipo de URI utilizada pelo protocolo HTTP é chamada de URL (Uniform Resource
Locator) e
contém três partes:
- A identifcação do protocolo;
- O endereço do computador servidor;
- O documento requisitado (pode incluir subdiretórios).
Um bom exemplo de URL seria o documento index.html, armazenado no diretório
internet em um servidor de endereço www.go.senac.br:
- http://www.go.senac.br/index.html
Informações AdicionaisSão maneiras do browser informar ao servidor Web algumas preferências defnidas na
confguração do browser como:
- Tipo de documento aceitos;
- Linguagem preferida para os documentos HTML que são retornados;
- Set de caracteres suportados;
Página 2
- E outras.
Resposta HTTP (HTTP Response)O servidor Web ao receber o pedido, processa-o de modo a determinar o que deverá ser
feito. Em relação ao pedido do slide anterior, o servidor Web deverá procurar o arquivo
index.html no diretório internet e retorná-lo ao browser.
Uma resposta HTTP é formada por três elementos:
- Linha de status: Indicando sucesso ou falha do pedido;
- Descrição da informação contida na resposta (Meta Informação ou MIME);
- A própria informação que foi requisitada.
StatusA linha de status traz as seguintes informações:
- A versão do protocolo HTTP;
- O código de status que defne o resultado do pedido;
- Uma pequena frase explicando o que signifca o código.
Os principais códigos de status existentes:
- 200 (Document follows): Pedido bem sucedido. A informação requisitada será
retornada;
- 401 (Unauthorized): A informação requisitada é de acesso restrito, sendo
necessário se autenticar;
- 403 (Forbidden): Acesso proibido;
- 404 (Not found): A informação requisitada não foi encontrada ou teve permissão
de acesso negada. A primeira opção é muito freqüente na Internet e pode ocorrer por erro de
digitação de uma URL.
- 500 (Server Error): Erro no servidor Web. Comum quando da execução de scripts.
Descrição da InformaçãoUma das partes mais importantes de uma resposta HTTP é a informação que defne o tipo
de documento que está sendo retornado ao browser, de modo que ele possa exibi-lo
adequadamente. Essa informação é codifcada pelo tipo MIME (Multi Purpose Mail Extensions).
Em outras palavras, o servidor Web, ao receber o pedido, procura o arquivo e checa a sua
extensão (.html), realizando uma consulta em uma grande tabela de tipos MIME que indica o
código que deverá ser usado para cada extensão existente. No caso de arquivos .html/htm, o
tipo MIME é o text/html.
Página 3
Tipos MIMEAlguns tipos MIME conhecidos:
- text/plain: Arquivo no formato texto (ASCII);
- text/html: Documento no formato HTML, o padrão para documentos Web;
- application/zip: Arquivo compactado;
- image/gif: Imagem codifcada no formato GIF;
- image/jpeg: Imagem codifcada no formato JPEG.
Bibliografia
Hypertext Transfer Protocol http://bit.ly/14Xw4t
O Protocolo HTTP http://bit.ly/RKVD62
Página 4