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:
-
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çãoHTTP/1.1 200 OK // Exemplo de linha de início de resposta -
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 -
Linha vazia: Separa os cabeçalhos do corpo da mensagem.
-
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.