O **Hypertext Transfer Protocol (HTTP)** é o protocolo de camada de aplicação que define como clientes (navegadores, apps) e servidores se comunicam na World Wide Web. É a linguagem da web.
HTTP segue ciclo **cliente-servidor, sem estado, requisição-resposta**:
GET /article/how-http-works HTTP/1.1 Host: example.com User-Agent: Mozilla/5.0 ... Accept: text/html,application/xhtml+xml Accept-Language: en-US,en;q=0.9 Cookie: session_id=abc123 HTTP/1.1 200 OK Date: Mon, 27 May 2024 12:00:00 GMT Server: nginx/1.24.0 Content-Type: text/html; charset=UTF-8 Content-Length: 14523 Cache-Control: private, max-age=0 Set-Cookie: session_id=abc123; HttpOnly; Secure ...conteúdo da página... | Método | Propósito | Idempotente? | Seguro? |
|---|---|---|---|
| GET | Recuperar recurso | Sim | Sim |
| POST | Enviar dados (forms, API) | Não | Não |
| PUT | Substituir recurso totalmente | Sim | Não |
| PATCH | Atualização parcial | Não* | Não |
| DELETE | Remover recurso | Sim | Não |
| HEAD | Headers apenas (sem body) | Sim | Sim |
| OPTIONS | Descrever métodos permitidos (CORS) | Sim | Sim |
| Versão | Ano | Melhorias Principais |
|---|---|---|
| HTTP/1.1 | 1997 | Conexões persistentes, chunked encoding, header Host (virtual hosting), pipelining (falho) |
| HTTP/2 (h2) | 2015 | **Framing binário**, **multiplexação** (streams paralelos em 1 conn TCP), compressão header (HPACK), server push, priorização. Requer TLS (h2) na prática. |
| HTTP/3 (h3) | 2022 | **QUIC (UDP)** em vez de TCP: **handshake 0-RTT**, sem head-of-line blocking, TLS 1.3 integrado, migração conexão (mudança IP). |
**Não protocolo separado.** HTTP sobre **TLS (Transport Layer Security)**. Criptografa requisição/resposta, autentica servidor (certificado), garante integridade. **Padrão hoje** — navegadores marcam HTTP "Não Seguro".
Sem memória de sessão server-side entre requisições. Estado gerenciado via **cookies, tokens (JWT), armazenamento client-side, ou session stores server-side (Redis) chaveados por cookie**. Permite scaling horizontal (adicione servidores atrás de load balancer).
A simplicidade, extensibilidade (headers, métodos), e ausência de estado do HTTP fizeram a web escalar para bilhões de dispositivos. QUIC/HTTP/3 agora ataca o último gargalo: head-of-line blocking do TCP.
Tecnologia Eletrônica © [www.351231.com]