Sobes.tech
Middle

Como funciona o protocolo HTTP?

sobes.tech IA

Resposta da IA

HTTP (Protocolo de Transferência de Hipertexto) — um protocolo de nível de aplicação utilizado para obter recursos, como páginas web. Funciona sob o modelo "cliente-servidor".

O cliente (geralmente um navegador) envia uma solicitação ao servidor, e o servidor processa a solicitação e envia uma resposta.

Os elementos principais da mensagem HTTP:

  1. Linha de início: Define o tipo de mensagem (solicitação ou resposta) e os principais parâmetros.

    • Solicitação: Método (GET, POST, PUT, DELETE, etc.), caminho para o recurso, versão do protocolo.
    • Resposta: Versão do protocolo, código de estado (200 OK, 404 Not Found, 500 Internal Server Error, etc.), descrição textual do estado.
    GET /index.html HTTP/1.1 // Exemplo de linha de início de solicitação
    
    HTTP/1.1 200 OK // Exemplo de linha de início de resposta
    
  2. Cabeçalhos (Headers): Contêm metainformação sobre a mensagem e o corpo da mensagem. Cada cabeçalho é apresentado em pares "NomeCabeçalho: Valor".

    • Cabeçalhos de solicitação: Host, User-Agent, Accept, Content-Type, Content-Length, etc.
    • Cabeçalhos de resposta: Content-Type, Content-Length, Server, Set-Cookie, etc.
    Host: example.com // Exemplo de cabeçalho Host
    User-Agent: Mozilla/5.0 // Exemplo de cabeçalho User-Agent
    
  3. Linha vazia: Separa os cabeçalhos do corpo da mensagem.

  4. Corpo da mensagem (Body): Contém os dados transmitidos. Pode estar ausente em algumas solicitações (por exemplo, GET) e respostas (por exemplo, 204 No Content). Em solicitações com métodos POST ou PUT, o corpo geralmente contém os dados enviados. Em respostas, o corpo contém o recurso solicitado (por exemplo, código HTML, imagens, JSON).

    <!DOCTYPE html>
    <html>
    <head>
        <title>Exemplo</title>
    </head>
    <body>
        <h1>Olá!</h1>
    </body>
    </html>
    

Métodos principais de HTTP:

Método Descrição Uso
GET Solicita um recurso na URL especificada. Obter dados sem modificar o estado do servidor.
POST Envia dados para serem processados no servidor. Envio de formulários, carregamento de arquivos, criação de recursos.
PUT Atualiza ou cria um recurso na URL especificada. Atualização de recursos existentes.
DELETE Elimina um recurso na URL especificada. Eliminação de recursos.
HEAD Solicita os cabeçalhos do recurso sem seu corpo. Obter metainformação do recurso.

HTTP é um protocolo sem estado (stateless). Cada solicitação é independente. Para manter o estado, utilizam-se mecanismos como cookies e sessões.