
HTTP - HYPERTEXT TRANSFER PROTOCOL
1 - Principal protocolo na comunicação de computadores através da internet. 2 - Protocolo da camada de aplicação, sempre trabalhando junto a outros dois protocolos, o TCP (responsável pela transmissão das informações) e o IP (cuida do encaminhamento dos dados) 3 - Esse protocolo se baseia em pedido e resposta (Request e Response), após o pedido e a resposta do servidor a conexão estabelecida é fechada, sendo assim, deverá ser necessário repetir o ciclo toda vez que uma request é feita. 4 - Request: Composto por: Linha de pedido, cabeçalhos e corpo/mensagem.
- Linha de pedido: contém o Identificador do método (tipo de ação esperada do servidor), URI do recurso: Endereço no qual será enviado a request e a Versão do protocolo: Atualmente a mais usada (1.1)
- Cabeçalho: Podem ser enviados dezenas de campos para o servidor através do cabeçalho e ele pode responder de alguma maneira diferente de acordo com o que foi enviado. Os campos mais comuns são:
- Date: Informa a data do envio da requisição.
- Cache-Control: Envia diretivas para o mecanismo de Cache.
- Transfer-Encodding: Especifíca a forma de decodificar o corpo da requisição.
- Cookie: Envia informações sobre os cookies.
- Accept: Especifíca o tipo de resposta.
- User-Agent: Envia informações sobre o client (Navegador)
- Body: Exemplo, o envio de um formulário.
Exemplo de requisição completa:

Está definido em 3 partes:
- Cabeçalho Geral
- Cabeçalho de Requisição
- Cabeçalho de Entidade
Response: Está definido em 3 partes também:
Linha de status: Versão do protocolo usada no servidor, código numérico do status (Como nosso pedido foi condicionado no servidor) e Texto associado ao status. Um dos mais importantes é o código do status, pois através dele você consegue visualizar como seu pedido foi processado no servidor, Categorias:
- 1xx Informational (pedido recebido e ainda está sendo processado)
- 2xx Success (pedido recebido => aceito => processado)
- 3xx Redirection (ações adicionais precisam ser feitas para completar seu pedido)
- 4xx Client Error (informações incorretas e ou não pode ser processado)
- 5xx Server Error (servidor não conseguiu processar seu pedido)
Cabeçalho: Exemplos de campos:
- Content-Type: Tipo de conteudo enviado na requisição
- Access-Control-Allow: Se a resposta pode ser acessada pela origem do seguinte (CORS)
- Date: Data da resposta enviada
Corpo: Mensagem que o nosso navegador vai interpretar (html, xml, json)
Exemplo de resposta completa vindo do servidor:

Ciclo HTTP finalizado.
Todo o conteúdo foi retirado do canal: Código Fonte TV (https://www.youtube.com/c/codigofontetv) Agradeço imensamente por todo conteúdo que eles proporcionam para nós devs.




