Glad Påsk

30 mars 2021

Tags
holiday http

Glad Påsk och HTTP 418

Så är då våren här i full fart och Påskhelgen infaller i slutet på denna vecka och inleds med Skärtorsdagen, som också utgör den 1 april.

Jag har inte för avsikt att dra ett eget aprilskämt, men tänkte berätta om ett annat. Den 1 april 1998 publicerades en utökning av HTTP protokollet (Hyper Text Transfer Protocol) för att hantera internetanslutna kaffepannor kallat HTCPCP, vilket stod för Hyper Text Coffee Pot Control Protocol.

När en webbklient ansluter till en webbserver, skickar klienten först en förfrågan (request) innehållande vald operationskod (GET, POST, PUT, ...) och resurs-id (URI), vilken utgör namnet på den fil/resurs som avses. Servern svarar sen med en numerisk status-kod (t.ex. 200), samt resultatet.

Status-koden anger huruvida det gick bra eller inte. Status-koder som börjar på 4xx utgör felkoder, såsom 404 Not Found. Givetvis hade protokollet HTCPCP också felkoder.

Den mest minnesvärda var 418 I'm a teapot, vilket skulle returneras om klienten hade kopplat sig till en tekanna i stället. Enligt specifikationen:

2.3.2 418 I'm a teapot

Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The resulting entity body MAY be short and stout.

Det här aprilskämtet blev så uppskattat, att varje försök till att återställa HTTP specifikationen till sitt ursprung, dvs ta bort status-kod 418 omgående ledde till stora protester. Därför är kod 418 nu mera en officiell felkod bland övriga inom 4xx serien; en s.k. reserved HTTP status code. Google har för övrigt en felsida för 418: https://www.google.com/teapot

Sensmoralen här är att ett gott skratt och ett glatt humör förlänger livet på ett programutvecklingsprojekt. Om med dessa ord önskar vi på Ribomation er alla en riktig Glad Påsk.