En este capítulo hablo de HTTP (HyperText Transfer Protocol), el "lenguage" que utilizan los navegadores para comunicarse con los servidores, y en concreto del curioso mundo de los códigos de estado HTTP y de la cantidad de huevos de pascua que esconden.
Los códigos de estado HTTP se dividen en cinco grupos:
1XX: Respuestas informativas (estoy en ello)
2XX: Peticiones correctas (todo chachi)
3XX: Redirecciones (vete pallá)
4XX: Errores del cliente (las has cagado)
5XX: Errores de servidor (la he cagado)
1XX: Respuestas informativas
100 Continue - Acepto la cabecera, envía el cuerpo
103 Checkpoint - Acepto un troxo, envía más
2XX: Peticiones correctas
200 OK - Roger that
204 No content - No te voy a enviar cuerpo, sólo cabeceras
3XX: Redirecciones
301: Moved Permanently - Ese contenido se ha ido para siempre
302: Found - Ese contenido ahora mismo está aquí
304: Not Modified - El contenido no ha cambiado, puedes usar tu copia en caché
4XX: Errores del cliente
400: Bad request - no entiendo lo que me pides
401: Unautorized - no puedoe comprobar si tienes permiso
402: Payment Required - ideado para micropagos, pero no utlizado
403: Forbidden - solicitud correcta pero no tienes permiso para ver esto
404: Not Found
418: I'm a Teapot - definido en 1998 como una inocentada en el RFC-2324, HTCPCP/1.0 - Hyper Text Coffee Pot Control Protocol (Protocolo de Hipertexto para Control de Cafeteras). No se espera que los servidores web implementen realmente este código de error, pero es posible encontrar sitios que devuelvan este código HTTP (y podcasts que lo usen de título).
420: Enhance your calm - Devuelto por el API de Twitter cuando haces peticiones demasiado seguidas. Es una referencia al slang 4:20, utilizado en los años setenta en California para referirse al consumo de cannabis (quedamos a las 4:20)
450: Blocked by windows parental controls - Error del control parental de Windows, puestos a inventarse códigos, todo el mundo se apunta.
451: Unavailable For Legal Reasons - Lo que pides está bloqueado por motivos legales (censura o violación de copyright), hace referencia a la novela Fahrenheit 451, donde los libros están prohibidos.
5XX - Errores de servidor
500 Internal Server Error - Error genérico, sin especificar
501 Not Implemented - Igual de genérico, pero más elegante
502 Bad Gateway - Igual de genérico, pero le echa la culpa a un proxy
503 Service Temporarily Unavailable - La web está en mantenimiento o el dueño del hospedaje no ha pagado las facturas
A la hora de mostrar errores 404, todo el mundo tira la casa por la ventana:
https://www.google.com/search?q=404+error+pages&tbm=isch
Pero para el resto, lo normal es encontrarse un simple mensaje de texto... HTTP Cats al rescate:
https://http.cat/
Una página con mensajes de estado HTTP en forma de memes de gatos. ¡y con API pública!
Para usarlo:
Imagen suelta: https://http.cat/404 o https://http.cat/404.jpg
Página de información: https://http.cat/404/
Configuración de NGinx: https://gist.github.com/mjmeyer/6cf8d3c1199d028f0921
Configuración de Apache, sencilla: https://gist.github.com/dave1010/1476499
Configuración de Apache, completa: https://gist.github.com/munchicken/c606774c0d0b519e4b5b7d2de16a8db2
Si no te gustan los gatos (nadie es perfecto), también tienes una versión con perros:
https://httpstatusdogs.com/
¡Bola extra!
RCF 2549 "IP over Avian Carriers with Quality of Service" (IP sobre portadores aviarios con Calidad de Servicio). Enmienda del documento RFC 1149 "A Standard for the Transmission of IP Datagrams on Avian Carriers" (Estándar para...
Show more...