Saltar al contenido
Framework Ecosystems LabsUn contrato, muchos ecosistemas, la misma prueba.

Por qué sí y por qué no — Cabeceras#

⬅️ Clase 016 · 📚 Parte 1

Framework Por qué sí Por qué no Qué se paga
FastAPI La cabecera entra por la firma, con su tipo y su valor por omisión La conversión de guion bajo a guion medio sorprende al principio Recordar la regla de nombres
Spring Boot @RequestHeader declara nombre, obligatoriedad y valor por omisión Otra anotación más en una firma ya larga Verbosidad
Express get/set directos y sin sorpresas Sin ayuda declarativa Un ?? por cada valor por omisión
Fastify Acceso crudo al diccionario, rápido Igual que Express Igual
Flask headers.get(nombre, omision) en una línea Nada declarativo Igual
Django peticion.headers moderno y normalizado El viejo META sigue por debajo y confunde Dos formas de lo mismo en la documentación antigua
ASP.NET Core Colección tipada con atajos para las cabeceras conocidas Hay que pedir el primer valor explícitamente Un FirstOrDefault() de ruido
Laravel API cómoda y valores por omisión prudentes Reescribe Cache-Control añadiendo private Tu valor exacto no es el que sale
Rails Añade cabeceras de seguridad razonables por su cuenta Esas adiciones sorprenden si esperas control total Comprobar lo que sale, no lo que pusiste
Gin Directo y sin capas Cadena vacía en lugar de ausencia La distinción se pierde si no vas al mapa crudo

🧭 La lección que vale para los diez#

Lo que tú pones no siempre es lo que sale. Laravel añade private, Rails añade cabeceras de seguridad, y cualquier intermediario del camino puede añadir las suyas.

Eso tiene dos consecuencias prácticas:

  1. Verifica la respuesta, no el código. El contrato de esta clase comprueba lo que llega por el cable, que es lo único que ve el cliente.
  2. Trata las cabeceras de lista como listas. Cache-Control, Vary, Allow y Accept son conjuntos de directivas [rfc9111]. Compararlas como cadenas produce fallos falsos, y un equipo que ve fallos falsos deja de mirar los rojos — el mecanismo de fatiga que Nygard describe al hablar de alertas [nygard-release-it].

Fuentes#