Hyper Text Coffee Pot Control Protocol

Hyper Text Coffee Pot Control Protocol（ハイパー・テキスト・コーヒーポット・コントロール・プロトコル、HTCPCP、ハイパーテキスト・コーヒーポット制御プロトコル）は、HTTPの拡張でコーヒーポットの制御、監視、診断を行うための通信プロトコルである。1998年4月1日に発行されたRFCので規定されているが、これはエイプリルフール恒例のジョークRFCとして公開されたものである。

2014年4月1日には、紅茶向けに拡張したHTCPCP-TEA (Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances) がとして公開されたが、これもエイプリルフールのジョークRFCである。

概要
RFC 2324 はが執筆したものである。彼はこれを風刺と表現し、「これは真面目な目的を持っている――それはHTTPを不適切に拡張する方法を特定することである。」と書いている。しかし、プロトコルの文言からして、これが完全に真面目な目的ではないことは明らかである。例えば、"there is a strong, dark, rich requirement for a protocol designed espressoly for the brewing of coffee"（コーヒーを淹れるためにエスプレッソリーに設計したプロトコルには、強く、暗く、豊かな要求がある）と書かれている。

エイプリルフールに発行されたジョークRFCではあるが、プロトコルそのものは実行可能なものである、エディタのEmacsには、完全に機能するHTCPCPクライアントの実装 (coffee.el) が存在する。Mozillaのバグレポートには、このプロトコルに対応していないことに対する不満を訴えるものが多数存在する。また、大学生の研究対象として、実際にHTCPCPを実装したコーヒーメーカーを試作するといったことも行われている。

HTCPCPの発表から10年後の2008年4月1日、World Wide Web Consortium (W3C) の “HTTP Vocabulary in RDF”のパロディとして、Web-Controlled Coffee Consortium (WC3) が “HTCPCP Vocabulary in RDF” の初稿を発表した。

HTTPをベースとしたプロトコルであるため、「コーヒーポット側からクライアントに『コーヒーが入った』等の通知を送ることができない」などの問題を抱えており（元々がジョークRFCであるため仕方のないことではあるが）、本プロトコルの代わりにIRC・Twitterによる通知機能を持たせたコーヒーメーカー「萌香」が開発されるなど、本プロトコルの代替となるものも提案されている。

コマンドと応答
HTCPCPはHTTPを拡張したものである。HTCPCPリクエストは、URIスキーム  （または、29の言語における「コーヒー」を意味する単語。日本語の「コーヒー」も含まれている。）で識別され、HTTPメソッドを以下のように拡張している。

以下の2つのエラー応答が定義されている。

また、一時的にサーバにコーヒーがなくなった場合には、汎用のステータスコード503が返される。

Save 418 movement
2017年8月5日、IETF HTTPBISワーキンググループの議長であるは、HTCPCPを参照して実装されたステータスコード418 "I'm a teapot" をNode.jsプラットフォームから削除するよう求めた。2017年8月6日、ノッティンガムは、プログラミング言語Goから 418 "I'm a teapot" への参照を削除することを要求し、その後PythonのRequestsライブラリやASP.NETのHttpAbstractionsライブラリからも削除するよう要求した。

これを受けて、15歳の開発者シェーン・ブランズウィック (Shane Brunswick) はウェブサイト save418.com を作成し、“Save 418 Movement”（418を守れ運動）を立ち上げた。彼は、様々なプロジェクトで 418 "I'm a teapot" が参照されることは、「コンピュータの基礎となるプロセスがまだ人間によって作られていることを思い起こさせる」ことになると主張した。ブランズウィックのサイトは、ソーシャル・プラットフォームRedditで数千のアップボート (upvotes) を集め、彼のサイトで紹介されたTwitterのハッシュタグ"#save418"を多くの人が使用した。世間の反発を受けて、Node.js、Go、PythonのRequestsライブラリ、ASP.NETのHttpAbstractionsライブラリは、自らのプロジェクトにおいて 418 "I'm a teapot" を削除しないことを決定した。

これらのプロジェクトと一般の人々からの満場一致の支持を受けて、ノッティンガムは、418が当面の間、公式のステータスコードに置き換えられないことを保証するために、418を予約済みのHTTPステータスコードとしてマークするプロセスを開始した。

関連項目
 トロイの部屋のコーヒーポット
 モノのインターネット (Internet of things)
 ジョークRFC
 ISO 3103 - 紅茶の入れ方の国際標準規格
 Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances
 ロシア国防省 - 2022年2月24日以降、ロシア国外から同省ウェブサイトへアクセスした際、エラーコード418を用いてアクセスを遮断していたのが確認されている。

外部リンク
 （和訳）
 
 Error 418 (I’m a teapot)!? - Googleによる418エラーのページ。このRFCで定義されているコード418が実際に返されている。
 Package teapot HTCPCP-TEA implementation by David Skinner
 error418.net

脚注

注釈

出典

2324
エイプリルフール
コーヒー器具
茶
Hypertext Transfer Protocol
コンピュータ・ユーモア
長大な項目名