Protocolo HTTP

Autor: Victor Hugo Ferreira Paschoal

Revisão: Eduardo Dantas

Data: 16/01/2022

Conceitos Básicos

O protocolo HTTP é um protocolo usado para buscar recursos tais como documentos HTML. Ele é a fundação de qualquer transferencia de dados na internet. Um documento completo, por exemplo, é reconstruído de outros sub documentos relacionados ("linked" ou "hyper-linked"), em instância, textos, descrições de layout, imagens, videos e etc.

Servidores e clientes se comunicam por troca de mensagens individuais. Estas mensagens são enviadas pelo cliente - normalmente o seu navegador, e são chamadas de “pedidos”, enquanto as mensagens enviadas pelo servidor são chamadas de “respostas”.

O protocolo foi criado na década de 90 e é conhecido por ser um protocolo extensivo, que pode ser melhorado com o tempo. O HTTP é um protocolo da camada de APLICAÇÃO e usa como TRANSPORTE o TCP (Transmission Control Protocol) – que é um protocolo de comunicação usado para troca de informações e dados entre dispositivos e aplicações – ou TLS criptografado através de uma conexão TCP. Devido a sua extensibilidade, ele também pode ser usado para referenciar links de hipertexto (Hypertext documents) – que nada mais são que referências a outras páginas na web ou mesmo documentos online – mas também vídeos, fotos, ou postar documentos em servidores com resultados em HTML.

Protocolo HTTP

Componentes de um sistema baseado em HTTP

Sendo o HTTP um protocolo baseado em cliente-servidor, pedidos são enviados pelo usuário ativo (ou um proxy). Na maioria das vezes o usário é um navegador da web, mas pode ser qualquer coisa, inclusive um mecanismo de busca que é mantido por um robô.

Principais características do HTTP:

  1. O cliente pode ser qualquer ferramenta que consiga agir como usuário.
  2. A atividade é realizada primariamente pelo navegador da web.
  3. O navegador é sempre quem inicializa o pedido, nunca será o servidor.

Então, por exemplo, para mostrar uma página na web, o navegador envia um pedido para amarrar o documento HTML que representa a página a ser exibida. Ele então separa tudo em pequenas partes, fazendo pedidos adicionais em correspondência aos scripts de execução, layout, informação (CSS) e subrecursos contidos na página. O navegador então combina todos esses recursos para então mostrar finalmente a página da web solicitada.

Referências:

Fonte: https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview