HTTP - Visão geral

O protocolo de transferência de hipertexto (HTTP) é um protocolo de nível de aplicativo para sistemas de informação hipermídia distribuídos e colaborativos. Esta é a base para a comunicação de dados para a World Wide Web (ou seja, internet) desde 1990. HTTP é um protocolo genérico e sem estado que pode ser usado para outros fins, bem como usando extensões de seus métodos de solicitação, códigos de erro e cabeçalhos.

Basicamente, HTTP é um protocolo de comunicação baseado em TCP / IP, que é usado para entregar dados (arquivos HTML, arquivos de imagem, resultados de consultas, etc.) na World Wide Web. A porta padrão é TCP 80, mas outras portas também podem ser usadas. Ele fornece uma maneira padronizada para os computadores se comunicarem entre si. A especificação HTTP especifica como os dados de solicitação dos clientes serão construídos e enviados ao servidor e como os servidores respondem a essas solicitações.

Recursos básicos

Existem três recursos básicos que tornam o HTTP um protocolo simples, mas poderoso:

  • HTTP is connectionless:O cliente HTTP, ou seja, um navegador inicia uma solicitação HTTP e depois que uma solicitação é feita, o cliente espera pela resposta. O servidor processa a solicitação e envia uma resposta de volta, após a qual o cliente desconecta a conexão. Assim, o cliente e o servidor conhecem um ao outro apenas durante a solicitação e a resposta atuais. Outras solicitações são feitas em uma nova conexão, como o cliente e o servidor são novos um para o outro.

  • HTTP is media independent:Isso significa que qualquer tipo de dado pode ser enviado por HTTP, desde que o cliente e o servidor saibam como lidar com o conteúdo dos dados. É necessário que o cliente, assim como o servidor, especifique o tipo de conteúdo usando o tipo MIME apropriado.

  • HTTP is stateless:Como mencionado acima, o HTTP não tem conexão e é um resultado direto do HTTP ser um protocolo sem estado. O servidor e o cliente estão cientes um do outro apenas durante uma solicitação atual. Depois, os dois esquecem um do outro. Devido a essa natureza do protocolo, nem o cliente nem o navegador podem reter informações entre diferentes solicitações nas páginas da web.

HTTP / 1.0 usa uma nova conexão para cada troca de solicitação / resposta, enquanto a conexão HTTP / 1.1 pode ser usada para uma ou mais trocas de solicitação / resposta.

Arquitetura Básica

O diagrama a seguir mostra uma arquitetura muito básica de um aplicativo da web e descreve onde fica o HTTP:

O protocolo HTTP é um protocolo de solicitação / resposta baseado na arquitetura baseada em cliente / servidor, onde navegadores da web, robôs e mecanismos de pesquisa, etc. agem como clientes HTTP e o servidor da Web atua como um servidor.

Cliente

O cliente HTTP envia uma solicitação ao servidor na forma de um método de solicitação, URI e versão do protocolo, seguido por uma mensagem semelhante a MIME contendo modificadores de solicitação, informações do cliente e possível conteúdo do corpo por meio de uma conexão TCP / IP.

Servidor

O servidor HTTP responde com uma linha de status, incluindo a versão do protocolo da mensagem e um código de sucesso ou erro, seguido por uma mensagem semelhante a MIME contendo informações do servidor, metainformações de entidade e possível conteúdo de corpo de entidade.