sábado, 17 de novembro de 2012

HTTP - Hypertext Transfer Protocol


HTTP significa Hypertext Transfer Protocol, mas antes de começar com HTTP, vamos ver primeiro o que é um protocolo realmente é.

Protocolo define como os computadores se comunicam uns com os outros. Um protocolo é um conjunto de regras e procedimentos que os computadores devem seguir para receber e transmitir mensagens. Protocolos mais comuns em uso hoje são HTTP, SMTP, FTP, IMAP, POP3, etc

Introdução ao Hypertext Transfer Protocol (HTTP)

Definição de HTTP:

Uma vez que um protocolo é um conjunto de regras e procedimentos para a comunicação em uma rede e uma vez que o HTTP é um protocolo - HTTP em si é um conjunto de regras e procedimentos utilizados para comunicar através da World Wide Web.

World Wide Web Consortium (W3C) e da Internet Engineering Task Force (IETF), coordenado desenvolvimento HTTP. Seu objetivo inicial era fornecer uma maneira de recuperar e publicar documentos HTML. Protocolo HTTP vem sob camada de aplicação (camada 5) do modelo de TCP / IP. Os clientes fazem solicitações HTTP para o protocolo HTTP eo servidor HTTP preocupado lida com esses pedidos. Os clientes que fazem pedidos para o servidor web são conhecidos como agentes de usuário. Clientes típicos são browsers, aranhas motor de busca, aplicações web enabled, etc

Clientes HTTP e Comunicação Servidores

Clientes HTTP, como navegadores web conectar a um servidor HTTP que geralmente é executado na porta 80. O servidor HTTP, por sua vez interpreta a solicitação, processa e responde ao cliente HTTP se a necessidade ser.

Conteúdos típicos de uma mensagem de requisição HTTP são - * A linha Pedido

* HTTP Headers

* Linha vazia

* Corpo da mensagem opcional

Métodos de solicitação HTTP Client CABEÇA *

Este método pede informação a partir do servidor, assim como o método GET faria, a diferença básica é que a resposta método HEAD não contém um corpo da resposta.

* GET

Este método solicita um recurso do servidor web. Método GET é um dos métodos mais utilizados na web hoje.

* POST

O método POST envia dados para o servidor web para processamento. Podemos experimentar o método POST ao submeter formulários web.

* PUT

Carrega um recurso especificado para o servidor HTTP.

DELETE *

Exclui o recurso especificado a partir do servidor web.

* TRACE

Este método ecoa o pedido recebido para que o cliente HTTP pode ver o que os servidores intermediários são adicionar ou alterar no pedido.

* OPÇÕES

Este método ajuda a determinar a funcionalidade do servidor como determinar quais os métodos do servidor da web suporta.

* CONNECT

O método connect converte a solicitação de conexão a um túnel TCP / IP transparente. Isso ajuda no sentido de facilitar o Secure Socket Layer (SSL) comunicação (HTTPS) através de um proxy HTTP criptografado.

HTTP Status Response Codes

Resposta HTTP é originado no servidor web, o que significa que é uma resposta, ou resultado de uma resposta ao pedido do cliente. O seguinte é uma lista de códigos de resposta do servidor web -

1xx - Informativo * 100 - Continue

* 101 - protocolos de comutação

* 102 - Processamento (WebDAV)

2xx - Sucesso * 200 - Ok

* 201 - Criado

* 202 - Aceito

* 203 - Informações não autorizadas

* 204 - Nenhum conteúdo

* 205 - Redefinir conteúdo

* 206 - Conteúdo parcial

* 207 - Estado-Multi (WebDAV)

3xx - Redirecionamento * 300 - múltiplas escolhas

* 301 - Movido permanentemente

* 302 - Não encontrado

* 303 - Veja Outros

* 304 - Não modificado

* 305 - Usar Proxy

* 306 - Mudar Proxy

* 307 - Redirecionamento temporário

4xx - Erro do lado do cliente * 400 - Bad Request

* 401 - não autorizado

* 402 - Pagamento Obrigatório

* 403 - Proibido

* 404 - Not Found

* 405 - Método não permitido

* 406 - Não Aceitável

* 407 - Autenticação de proxy necessária

* 408 - Request Timeout

* 409 - Conflito

* 410 - Gone

* 411 - comprimento necessário

* 412 - Pré-requisito Falha

* 413 - Entidade solicitada muito grande

* 414 - Pedido-URI Too Long

* 415 - Tipo de mídia não suportado

* 416 - Intervalo solicitado não satisfatório

* 417 - Expectativa Falha

* 422 - Entidade Unprocessable (WebDAV)

* 423 - Bloqueado (WebDAV)

* 424 - Falha de dependência (WebDAV)

* 425 - Colecção não ordenada

* 426 - Upgrade Obrigatório

* 449 - Repetir Com

5xx - Erro do lado do servidor

* 500 - Internal Server Error

* 501 - Não implementado

* 502 - Bad Gateway

* 503 - Serviço Indisponível

* 504 - Timeout gateway

* 505 - Versão HTTP não suportada

* 506 - Variante também negocia

* 507 - Depósito Insuficiente (WebDAV)

* 509 - Bandwidth Limit Exceeded

* 510 - não prorrogado

Um cenário simples comunicação HTTP

1. HTTP Client faz uma ligação e envia um método de solicitação para o servidor web.

2. O servidor de HTTP processar o pedido do cliente, enquanto o cliente aguarda a resposta do servidor.

3. O servidor Web responde com o código de status e dados (se disponível) e fecha a conexão.

Nenhum comentário:

Postar um comentário