Corría el 01 Jan 1970 00:00:01 GMT
En realidad, ya corrió el 1 de enero de 1970. Para muchos es una fecha más, para otros es el origen del tiempo, también conocido como el UNIX Time, el número de segundos transcurridos desde el 1 Jan 1970 a medianoche.
Pero no quiero hablar del UNIX Time esta vez, sino de un pequeño detalle que me encontró mientras estaba escribiendo unos flowtests a uno de los servicios de Cloudflare. El servicio en cuestión es irrelevante, al contrario que la cabecera HTTP que recibí en una de las peticiones. Contenía una fecha que perturbó mi estado mental de paz y concentración hasta el punto de obligarme a escribir este artículo:
expires: Thu, 01 Jan 1970 00:00:01 GMT
Lo extraño aquí no es la header de expiración, aunque no sea la forma más actual, se entiende que es no para invalidar la caché, sino para evitar que el recurso se llegue a cachear en primera instancia. Para conseguirlo colocan una fecha de expiración en el pasado y qué mejor fecha que aquella en que prácticamente no existía ningún computador electrónico en el mundo, Thu, 01 Jan 1970 00:00:00 GMT.
En un servicio cualquiera, ese segundo extra no me habría llamado la atención pero estamos hablando de Cloudflare, ¡de Cloudflare! Los que protegen Internet con un muro de lámparas de lava, los que han mitigado algunos de los mayores ataques DDoS de la historia, los que han construido 1.1.1.1, los que usan HTTP/3 en producción masiva, los mismos que se han atrevido a proteger incluso el derecho de los usuarios a una internet abierta contra el mismísimo abuso de algunos.
Ese segundo extra se ha puesto ahí por un motivo, y seguramente la respuesta tenga que ver con la forma de codificar los datos que se manejan en el software que todavía sigue corriendo y sosteniendo nuestra civilización.
Ese formato de fecha es solamente un interfaz, un convenio mediante el cual dos o más partes intercambian la información mientras ocultan los detalles internos de la implementación. Ese formato bien podría representar fechas anteriores a 1970, incluso anteriores al año 0.
Seguramente todavía existe mucho software, más o menos antiguo, que representa internamente el tiempo UNIX como un número entero, pero que además otorgan un significado especial al 0. Esta práctica es muy común y no sólo para fechas, sino para cualquier tipo de dato.
La gente de Cloudflare, en su infinita sabiduría, ha querido tender la mano a todo ese software que sostiene los latidos de nuestro mundo digital, no sólo manteniendo una header que los sistemas antiguos todavía entienden, sino evitando que su implementación interna falle miserablemente por un cero especial.
Nota: La forma recomendada de evitar caché es mediante Cache-Control: no-store