O que é um protocolo HTTP?
Da sigla Hypertext transfer protocol 
Protocolo de transferencia de hipertexto
O HTTP é um protocolo de camada de aplicação, sendo assim ele é implementado nos sofware responsavel por essa comunicação, como nos Navegadores e Servidores WEB
HTTP não está sozinho!
o http sempre vai estrar trabalhando com mais dois protocolos, sendo eles:
TCP Transmission Control Protocol 
Responsavel pela transferencia das informações
IP Protocolo IP 
Um pacote IP contém os endereços IP da origem e do destino. 
Request e Response (Pedido e Resposta)
Basicamente quando você abre um navegador pra acessar alguma coisa, vai estar requisitando informações do servidor, que assim ao receber esse pedido fara o serviços internos e devolvera uma resposta e por muitas muitas vezes essas respostas vai vir em HTML e CSS que ira ser interpretada no navegador o conteudo buscado.
Request
O Resquest é formado por três fatores
Que cada uma é formada por algumas informações.
1. Linha de Pedido
IDENTIFICADOR DE METODO
Basicamente é o tipo de ação que você vai esperar do servidor, existem 8 tipo, mas sendo os mais famosos oGEToPOSTe oDELETEURI DO RECURSO
Sendo ele o endereço, no qual será enviado o pedido, um exemplo: /index.phpVERSÃO DO PROTOCOLO
Atualmente contendo quatro versôes, sendo elas:HTTP 0.9HTTP 1.0HTTP 1.1HTTP 2
2. Cabeçalho
O cabeçalho é o local para se passar informações adicionais sobre a requisição e o servidor, ele pode responder de modo diferente dependendo dos campos e valores contido nele. 
Sendo ele dividido em três grupos
- 
CABEÇALHO GERAL - 
CABEÇALHO DE REQUISIÇÃO - 
CABEÇALHO DE ENTIDADE 
Campos:
A quantidade de campos que tem é muito grande, mas vou colocar aqui, os mais usado:
- 
DATE- Informa da data do envio da requisição - 
CACHE-CONTROL- Envia diretivos para o mecanismo de Cache - 
TRANSFER-ENCODING- Especidica a forma de decodificar o corpo da requisição - 
COOKIE- Envia informações sobre os Cookies - 
Accept- Especifica a preferencia de resposta - 
User-Agent- Envia informações sobre o client 
3. Corpo/Mensagem
O corpo nada mais é do que os dados da sua requisição.
Exemplo: em um envio de formulario HTML, ficaria no corpo as informações desse formulario.
Mas afinal qual, qual é o formato do Resquest?
O formato do resquest ele é composto por trés unidades, sendo elas:
- Linha de estatus
 - Cabeçalho
 - Corpo
 
1. Linha de Status - Tendo trés informações.
- Versão do protocolo.
 - codigo numerico do status.
 - Texto Associado ao Status.
 
Uma das informações mais importante é:
Codigo de Status.
 sendo eles: 
1XX - pedido Information serviço ainda em processo
2XX - Success, pedido recebido com sucesso.
3XX - Redirection Ações adicionais precisam ser realizada para terminaer o serviço
4XX - Client Error Pedido com informações incorretas ou não existe.
5XX - Server Error Não processou seu pedido.
Existe alguns que são muito conhecidos, portanto eles são:
- 404 - Not Found
 - 301 - Moved permanently
 - 500 - internal Server Error
 - 200 - Ok
 
  
  
  2. Cabeçalho
Sendo ele bem parecido com o cabeçalho do pedido, sendo assim terá informações sobre o pedido e conteudo de resposta, irei dar alguns exemplo:
Content-Type
Tipo de conteudo que foi enviado no resquest0Access-Control-Allow
indica se a resposta pode ser acessavel pela origem do pedido.Date
Data de respota que foi gerada.
  
  
  3. Corpo
Basicamente a mensagem que navegador que o navegador vai interprestar, pode ser:
HTML
JSON
ou
XML
Aqui vou dar um exemplo de resposta vindo do servidor:



    
Top comments (0)