HTTPQUERY
Español

418 I'm a teapot

Uso

El mensaje de error 418 I’m a teapot se ideó como una de las bromas del Día de los Inocentes del IETF. El RFC establece que cualquier tetera a la que se le pida preparar café responde con este mensaje. En concreto, el cuerpo del mensaje resultante se describe como bajito y rechoncho.

Aunque este código de estado no se utiliza en producción, muchas bibliotecas HTTP lo admiten. Un intento de eliminarlo para dejar el número libre para un uso oficial se topó con resistencia y dio lugar a la iniciativa Save 418. El mensaje y el código de estado siguen ahí.

Reserva del código de estado

La especificación HTTP reserva el código de estado 418 como “(Unused)” para evitar conflictos con las extendidas implementaciones de HTCPCP.

Impacto en SEO

Los buscadores como Google no indexan una URL con el estado de respuesta 418 I’m a teapot. Las URL indexadas previamente se eliminarán de los resultados de búsqueda.

Ejemplo

El cliente pide que se prepare café, pero la tetera se niega.

Solicitud

BREW coffee HTTP/1.1
Host: example.com
Content-Type: message/coffeepot
Content-Length: 5

start

Respuesta

HTTP/1.1 418 I'm a teapot
Content-Type: text/html
Content-Length: 146

<html>
  <head>
    <title>Beverage not supported</title>
  </head>
  <body>
   <p>This is a teapot. Coffee is not supported.</p>
  </body>
</html>

Cómo provocar una respuesta 418

Solo devuelven una respuesta 418 los servidores configurados para admitir el protocolo humorístico HTCPCP o las aplicaciones que devuelven este código de forma explícita. Google devuelve un 418 en google.com/teapot a modo de huevo de pascua. Muchos frameworks web permiten devolver un 418 estableciendo directamente el código de estado de la respuesta. Ningún servidor HTTP estándar devuelve un 418 sin una configuración deliberada.

Historia del 418

El código de estado nació en 1998 como parte de una especificación del Día de los Inocentes para el Hyper Text Coffee Pot Control Protocol (HTCPCP). En 2014 llegó una especificación complementaria que extendía HTCPCP al té. Cuando en 2017 el IETF se planteó recuperar el código para un uso oficial, la comunidad de desarrolladores se opuso y puso en marcha el movimiento Save 418. Finalmente, el IETF reservó el código como “(Unused)” en la especificación principal de HTTP.

Referencias de código

.NET

StatusCodes.Status418ImATeapot

Rust

http::StatusCode::IM_A_TEAPOT

Go

http.StatusTeapot

Symfony

Response::HTTP_I_AM_A_TEAPOT

Python3.9+

http.HTTPStatus.IM_A_TEAPOT

Angular

@angular/common/http/HttpStatusCode.ImATeapot