Протокол управления кофейником Hyper Text
![]() | |
Международный стандарт | Целевая группа по интернет-инжинирингу |
---|---|
Разработано | Ларри Масинтер |
Представлено | 1 апреля 1998 г. |
Веб-сайт | rfc2324 |

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 Консорциум кофе, управляемый через Интернет (WC3), опубликовал первый проект «Словарного словаря HTCPCP в RDF ». [8] в пародии на Консорциума Всемирной паутины (W3C). «HTTP-словарь в RDF» [9]
1 апреля 2014 г. RFC 7168 расширил возможности HTCPCP для полной поддержки чайников. [4]
Команды и ответы
[ редактировать ]HTTPCPCP — это расширение HTTP . Запросы HTCPCP идентифицируются с помощью схемы универсального идентификатора ресурса (URI). coffee
(или соответствующее слово на любом другом из 29 перечисленных языков) и содержат несколько дополнений к методам HTTP:
Метод | Определение |
---|---|
BREW или POST | Заставляет сервер HTCPCP варить кофе . Использование POST для этой цели устарело. новое поле заголовка HTTP-запроса Предлагается «Accept-Additions», поддерживающее дополнительные дополнения, включая сливки, цельное молоко, ваниль, малину, виски, аквавит и т. д. |
GET | «Получает» кофе с сервера HTCPCP. |
PROPFIND | Возвращает метаданные о кофе. |
WHEN | Говорит «когда» , заставляя сервер HTCPCP перестать наливать молоко в кофе (если применимо). |
Он также определяет четыре ответа на ошибку :
Код состояния | Определение |
---|---|
406 Not Acceptable | Сервер HTCPCP по какой-то причине не может предоставить запрошенное дополнение; в ответе должен быть указан список доступных дополнений. В RFC отмечают: «На практике большинство автоматизированных кофейников в настоящее время не могут обеспечить дополнительные функции». |
408 Request Timeout | Серверы HTCPTC не могут приготовить чай из-за таймаута и запрещенных действий. |
418 I'm a teapot | Сервер HTCPCP — это чайник ; полученное тело сущности «может быть коротким и толстым» (отсылка к песне « I'm a Little Teapot »). Демонстрации такого поведения существуют. [1] [10] |
503 Service Unavailable | Согласно документации разработчика Mozilla, «комбинированный кофейник/чайник, в котором временно нет кофе, вместо этого должен возвращать 503» при запросе на заваривание. [11] |
Сохранить 418 движений
[ редактировать ]5 августа 2017 года Марк Ноттингем, председатель рабочей группы IETF HTTPBIS , призвал удалить код состояния 418 «Я чайник» с платформы Node.js , код, реализованный со ссылкой на исходный код 418 «I». «Я чайник», установленный в протоколе управления гипертекстовым кофейником. [12] 6 августа 2017 года Ноттингем потребовал удалить ссылки на 418 «Я чайник» из языка программирования Go. [13] и впоследствии Python запросов из [14] и библиотека ASP.NET HttpAbstractions. [15] также.
В ответ 15-летний разработчик Шейн Брансвик создал сайт save418.com. [16] и основал «Движение Спасите 418», утверждая, что ссылки на 418 «Я чайник» в различных проектах служат «напоминанием о том, что основные процессы компьютеров по-прежнему создаются людьми». Сайт Brunswick стал вирусным через несколько часов после публикации, собрав тысячи голосов на социальной платформе Reddit . [17] и вызвало массовое распространение хэштега Твиттера «#save418» , который он представил на своем сайте. Прислушиваясь к протестам общественности, Node.js, Go, Python’s 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]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Jump up to: а б Реддингтон, Джозеф, Иллюстрированная реализация ошибки 418 , заархивировано из оригинала 6 сентября 2015 г. , получено 18 октября 2014 г.
- ^ Масинтер, Ларри М. (апрель 1998 г.), «Запрос на комментарии 2324», Сетевая рабочая группа , IETF , заархивировано из оригинала 04 апреля 2012 г. , получено 20 марта 2012 г.
- ^ ДеНардис, Лаура (30 сентября 2009 г.). Протокольная политика: глобализация управления Интернетом . МТИ Пресс. стр. 27 и далее. ISBN 978-0-262-04257-4 . Проверено 8 мая 2012 г.
- ^ Jump up to: а б Назар, Имран (апрель 2014 г.), «Запрос на комментарии 7168», Протокол управления гипертекстовым кофейником для приборов, отводящих чай (HTCPCP-TEA) , IETF , заархивировано из оригинала 29 мая 2014 г. , получено 04 апреля 2014 г. 22
- ^ Масинтер, Ларри . «IETF RFC» . Архивировано из оригинала 27 марта 2013 г.
- ^ «Расширение Emacs: Coffee.el», Emarsden , Chez, заархивировано из оригинала 1 февраля 2009 г. , получено 10 февраля 2009 г.
- ^ «Ошибка 46647 – (обработчик кофе) HTCPCP не поддерживается (RFC2324)» , Bugzilla , Mozilla, заархивировано из оригинала 14 мая 2011 г. , получено 21 декабря 2005 г.
- ^ Словарь HTCPCP в RDF — черновик RFC WC3 , Chief Arabica (Консорциум кофе, управляемый через Интернет), 1 апреля 2008 г., заархивировано из оригинала 15 мая 2021 г. , получено 17 марта 2023 г. — через github
- ^ Кох, Йоханнес (редактор), HTTP-словарь в RDF и др., W3 , заархивировано из оригинала 15 октября 2009 г. , получено 17 августа 2009 г.
- ^ «Чайник Goblin Teasmade с реализацией ошибки 418» . Архивировано из оригинала 6 декабря 2014 г. Проверено 26 июля 2014 г.
- ^ «418 Я чайник — HTTP | MDN» . http://developer.mozilla.org . 10 апреля 2023 г. Проверено 21 сентября 2023 г.
- ^ Ноттингем, Марк. «418 Я чайник № 14644» . Архивировано из оригинала 10 августа 2017 г. Получено 12 августа 2017 г. - через github.
- ^ Ноттингем, Марк. «net/http: удалить поддержку кода состояния 418, я чайник» . Архивировано из оригинала 10 августа 2017 г. Получено 12 августа 2017 г. - через github.
- ^ Ноттингем, Марк. «418 418 Я Чайник №4238» . Архивировано из оригинала 15 мая 2021 г. Получено 12 августа 2017 г. - через github.
- ^ Ноттингем, Марк. «418 Я чайник №915» . Архивировано из оригинала 10 мая 2019 г. Получено 12 августа 2017 г. - через github.
- ^ Брансуик, Шейн (10 сентября 2017 г.). «Мы чайники» . Движение «Спасите 418» . Архивировано из оригинала 15 мая 2021 г. Проверено 15 мая 2021 г.
- ^ «Код ошибки HTTP 418 «Я чайник» скоро будет удален из Node. Нам нужно что-то сделать. [x-post /r/webdev]» . Архивировано из оригинала 11 августа 2017 г. Проверено 12 августа 2017 г. - через Reddit.
- ^ Ноттингем, Марк. «Резерв 418» . Архивировано из оригинала 13 августа 2017 г. Получено 12 августа 2017 г. - через github.
- ^ «Что нового в Python 3.9 — документация Python 3.9.0» . Документация Python . 05.10.2020. Архивировано из оригинала 07.10.2020 . Проверено 8 октября 2020 г.
- ^ «Проблема 39507: в библиотеке http отсутствует код состояния HTTP 418 «Я чайник» — трекер Python» . bugs.python.org . Архивировано из оригинала 14 октября 2020 г. Проверено 8 октября 2020 г.
- ^ «Включить дополнительную веб-безопасность на веб-сайте» . ДримХост . Проверено 18 декабря 2022 г.
- ^ «Похоже, что Россия развертывает цифровую защиту после DDoS-атак» . Запись от Recorded Future . 25 февраля 2022 г. Проверено 26 февраля 2022 г.
- ^ «Я зашёл на русский сайт и получил только этот паршивый чайник » PCMag . Проверено 28 февраля 2022 г.
- ^ «Сайт МО РФ заблокирован для нероссийских IP-адресов | Hacker News» .
Внешние ссылки
[ редактировать ]- Демо-страница Google: Ошибка 418 (Я чайник)!?
- Пакетный чайник, реализация HTCPCP-TEA Дэвида Скиннера
- save418.com
- error418.net. Архивировано 7 января 2021 г. на Wayback Machine.