Hyper Text Coffee Pot Control Protocol ( HTCPCP ) — это шутливый протокол связи для управления , мониторинга и диагностики кофейников . Он указан в RFC 2324, опубликованном 1 апреля 1998 года как RFC ко Дню дурака [2] как часть первоапрельской шутки [3] . Расширение HTCPCP-TEA было опубликовано как RFC 7168 1 апреля 2014 года [4] для поддержки заваривания чая, также как RFC ко Дню дурака с ошибкой 418.
RFC 2324 был написан Ларри Масинтером , который описывает его как сатиру, говоря: «У него есть серьезная цель — он определяет многие способы, которыми HTTP был ненадлежащим образом расширен». [5] Формулировка протокола ясно давала понять, что он не совсем серьезен; например, в нем отмечается, что «существует сильное, темное, насыщенное требование к протоколу, разработанному специально для заваривания кофе».
Несмотря на шутливый характер его происхождения, или, возможно, именно из-за него, протокол остался в качестве незначительного присутствия в сети. Редактор Emacs включает в себя полностью функциональную реализацию на стороне клиента, [6] и существует ряд сообщений об ошибках, жалующихся на отсутствие поддержки протокола со стороны Mozilla . [7] Спустя десять лет после публикации HTCPCP , Web-Controlled Coffee Consortium (WC3) опубликовал первый черновик "HTCPCP Vocabulary in RDF " [8] в пародии на "HTTP Vocabulary in RDF" Консорциума World Wide Web (W3C). [9]
1 апреля 2014 года RFC 7168 расширил HTCPCP для полной поддержки чайников. [4]
HTCPCP — это расширение HTTP . Запросы HTCPCP идентифицируются с помощью схемы унифицированного идентификатора ресурса (URI) coffee
(или соответствующего слова на любом другом из 29 перечисленных языков) и содержат несколько дополнений к методам HTTP: [ необходима цитата ]
Он также определяет четыре ответа на ошибки :
5 августа 2017 года Марк Ноттингем, председатель рабочей группы IETF HTTPBIS , призвал удалить код статуса 418 «Я чайник» из платформы Node.js , код, реализованный в соответствии с исходным кодом 418 «Я чайник», установленным в протоколе управления гипертекстовыми кофейниками [12] . 6 августа 2017 года Ноттингем потребовал удалить ссылки на код 418 «Я чайник» из языка программирования Go [13] , а затем из Requests Python [14] и библиотеки HttpAbstractions ASP.NET [15] .
В ответ на это 15-летний разработчик Шейн Брансуик создал сайт save418.com [16] и основал «Движение Save 418», утверждая, что ссылки на 418 «Я чайник» в разных проектах служат «напоминанием о том, что основные процессы компьютеров по-прежнему создаются людьми». Сайт Брансуика стал вирусным в течение нескольких часов после его публикации, собрав тысячи голосов на социальной платформе Reddit [17] и вызвав массовое принятие хэштега Twitter «#save418» , который он ввел на своем сайте. Прислушавшись к общественному возмущению, Node.js, Go, Python Requests и библиотека HttpAbstractions ASP.NET решили не удалять 418 «Я чайник» из своих проектов. Единогласная поддержка вышеупомянутых проектов и широкой общественности побудила Ноттингем начать процесс маркировки 418 как зарезервированного кода статуса HTTP [18] , гарантируя, что 418 не будет заменен официальным кодом статуса в обозримом будущем.
5 октября 2020 года Python 3.9 был выпущен с обновленной библиотекой HTTP, включая 418 IM_A_TEAPOT
код состояния. [19] В соответствующем запросе на извлечение движение Save 418 было напрямую упомянуто в поддержку принятия. [20]
Код статуса 418 иногда возвращается серверами при блокировке запроса вместо более подходящего 403 Forbidden . [21]
Примерно во время российского вторжения на Украину в 2022 году российский военный сайт mil.ru возвращал код статуса HTTP 418 при доступе из-за пределов России в качестве меры защиты от DDoS-атак . [22] [23] Изменение было впервые замечено в декабре 2021 года. [24]