>> Tecnologia Eletrônica >  >> Sistemas de Posicionamento Global >> RFID

HTTP: O Protocolo que Alimenta a World Wide Web — Como Funciona

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.

Modelo Central: Requisição–Resposta

HTTP segue ciclo **cliente-servidor, sem estado, requisição-resposta**:

  1. Cliente (User Agent) inicia **conexão TCP** (geralmente porta 80 para HTTP, 443 para HTTPS) para IP do servidor (resolvido via DNS da URL).
  2. Cliente envia Requisição HTTP:
    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 
  3. Servidor processa requisição (roteia para handler, consulta DB, renderiza template, verifica auth).
  4. Servidor envia Resposta HTTP:
    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... 
  5. Cliente recebe, parseia, renderiza. Se HTML referencia outros recursos (CSS, JS, imagens, fontes), **novas requisições** são disparadas (frequentemente em paralelo).
  6. Conexão reutilizada (Keep-Alive) ou fechada.

Principais Métodos HTTP (Verbos)

MétodoPropósitoIdempotente?Seguro?
GETRecuperar recursoSimSim
POSTEnviar dados (forms, API)NãoNão
PUTSubstituir recurso totalmenteSimNão
PATCHAtualização parcialNão*Não
DELETERemover recursoSimNão
HEADHeaders apenas (sem body)SimSim
OPTIONSDescrever métodos permitidos (CORS)SimSim

Códigos de Status: O Resultado de 3 Dígitos

  • 1xx Informacional: 100 Continue
  • 2xx Sucesso: 200 OK, 201 Created, 204 No Content
  • 3xx Redirecionamento: 301 Moved Permanently, 302 Found, 304 Not Modified (cache)
  • 4xx Erro Cliente: 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 429 Too Many Requests
  • 5xx Erro Servidor: 500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable, 504 Gateway Timeout

Evolução: HTTP/1.1 → HTTP/2 → HTTP/3

VersãoAnoMelhorias Principais
HTTP/1.11997Conexõ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).

HTTPS: HTTP + TLS

**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".

Por Que Sem Estado? Escalabilidade.

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.