Http conceitos

6

Click here to load reader

Transcript of Http conceitos

Page 1: Http   conceitos

Protocolo HTTP

O que é e como

funciona

Thiago Morais

Segurança da Informação

1o Período – Noturno

Outubro / 2012

Page 2: Http   conceitos

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

Page 3: Http   conceitos

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

Page 4: Http   conceitos

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

Page 5: Http   conceitos

- 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

Page 6: Http   conceitos

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