Hyper Text Coffee Pot Control Protocol - Hyper Text Coffee Pot Control Protocol

Implementering af HTCPCP på error418.net
Arbejdende tekande, der implementerer HTCPCP-TEA

Den Hyper Text Coffee Pot Control Protocol ( HTCPCP ) er en spøgefuld kommunikationsprotokol til styring, overvågning og diagnosticering kaffekander . Det er specificeret i RFC  2324 , udgivet den 1. april 1998 som en April Fools 'Day RFC , som en del af en April Fools -sjov . En udvidelse, HTCPCP-TEA, blev offentliggjort som RFC 7168 den 1. april 2014 for at understøtte brygning af te, som også er en April Fools 'Day RFC.

Protokol

RFC 2324 blev skrevet af Larry Masinter , der beskriver det som en satire og sagde "Dette har et seriøst formål - det identificerer mange af de måder, hvorpå HTTP er blevet udvidet upassende." Ordlyden i protokollen gjorde det klart, at den ikke var helt alvorlig; for eksempel bemærker den, at "der er et stærkt, mørkt, rigt krav til en protokol designet espressoly [ sic ] til brygning af kaffe".

På trods af den spøgende karakter af dens oprindelse, eller måske på grund af den, er protokollen forblevet som en mindre tilstedeværelse online. Redaktøren Emacs indeholder en fuldt funktionel implementering af klientsiden, og der findes en række fejlrapporter, der klager over Mozillas manglende understøttelse af protokollen. Ti år efter udgivelsen af ​​HTCPCP offentliggjorde Web-Controlled Coffee Consortium ( WC3 ) et første udkast til "HTCPCP Vocabulary in RDF " i parodi på World Wide Web Consortiums (W3C) "HTTP Vocabulary in RDF".

Den 1. april 2014 udvidede RFC 7168 HTCPCP til fuldt ud at håndtere tekander.

Kommandoer og svar

HTCPCP er en udvidelse af HTTP . HTCPCP -anmodninger identificeres med skemaet Uniform Resource Identifier (URI) coffee(eller det tilsvarende ord på et andet af de 29 listede sprog) og indeholder flere tilføjelser til HTTP -metoderne:

BREW eller POST Får HTCPCP -serveren til at brygge kaffe . Brug af POST til dette formål udfases. Et nyt HTTP-anmodningsoverskriftsfelt "Accept-tilføjelser" foreslås, der understøtter valgfri tilføjelser, herunder fløde, sødmælk, vanilje, hindbær, whisky, akvavit osv.
GET "Henter" kaffe fra HTCPCP -serveren.
PROPFIND Returnerer metadata om kaffen.
WHEN Siger "når" , hvilket får HTCPCP -serveren til at stoppe med at hælde mælk i kaffen (hvis relevant).

Det definerer også to fejlsvar :

406 Not Acceptable HTCPCP -serveren kan af en eller anden grund ikke levere den ønskede tilføjelse; svaret skal angive en liste over tilgængelige tilføjelser. RFC bemærker, at "I praksis kan de fleste automatiserede kaffekander i øjeblikket ikke tilføje tilføjelser."
418 I'm a teapot HTCPCP -serveren er en tekande ; det resulterende enhedslegeme "kan være kort og kraftigt" (en henvisning til sangen " I'm a Little Teapot "). Der findes demonstrationer af denne adfærd.

Spar 418 bevægelser

Den 5. august 2017 opfordrede Mark Nottingham, formand for IETF HTTPBIS Working Group, til at fjerne statuskode 418 "I'm a teapot" fra Node.js -platformen, en kode implementeret med henvisning til den oprindelige 418 "I ' m en tekande "etableret i Hyper Text Coffee Pot Control Protocol. Den 6. august 2017 Nottingham anmodet om, at henvisninger til 418 "Jeg er en tepotte" fjernes fra programmeringssproget Go og efterfølgende fra Python 's Anmodning og ASP.NET ' s HttpAbstractions bibliotek samt.

Som svar skabte den 15-årige udvikler Shane Brunswick et websted, save418.com, og etablerede "Save 418 Movement" og hævdede, at henvisninger til 418 "I'm a tekande" i forskellige projekter tjener som "en påmindelse om, at underliggende processer på computere fremstilles stadig af mennesker ". Brunswicks websted blev viralt i timerne efter dets udgivelse, og opnåede tusindvis af upvotes på den sociale platform Reddit og forårsagede masseadoption af "#save418" Twitter -hashtag, han introducerede på sit websted. Med hensyn til det offentlige ramaskrig, Node.js, Go, Pythons anmodninger og ASP.NETs HttpAbstractions -bibliotek besluttede at fjerne 418 "I'm a tekande" fra deres respektive projekter. Den enstemmige støtte fra de førnævnte projekter og offentligheden fik Nottingham til at begynde processen med at få 418 markeret som en forbeholdt HTTP -statuskode, hvilket sikrer, at 418 ikke vil blive erstattet af en officiel statuskode i en overskuelig fremtid.

Den 5. oktober 2020 udgav Python 3.9 med et opdateret http -bibliotek inklusive 418 IM_A_TEAPOTstatuskode. I den tilsvarende pull -anmodning blev Save 418 -bevægelsen citeret direkte til støtte for adoption.

Se også

Referencer

eksterne links