Протокол управления гипертекстовым кофейником - Hyper Text Coffee Pot Control Protocol

Реализация HTCPCP на error418.net
Рабочий чайник внедрение HTCPCP-TEA[1]

В Протокол управления гипертекстовым кофейником (HTCPCP) является шутливым протокол связи для управления, мониторинга и диагностики кофейники. Это указано в RFC 2324, опубликовано 1 апреля 1998 г. День дурака RFC,[2] как часть Первоапрельская шутка.[3] Расширение HTCPCP-TEA было опубликовано как RFC 7168 1 апреля 2014 г.[4] для поддержки пивоварения чая, что также является RFC Первого апреля.

Протокол

RFC 2324 был написан Ларри Масинтер, который описывает это как сатиру, говоря: "У этого есть серьезная цель - он определяет многие способы, которыми HTTP был продлен ненадлежащим образом ".[5] Формулировка протокола давала понять, что это не совсем серьезно; например, в нем отмечается, что «существует сильное, темное, богатое требование к протоколу, разработанному эспрессолия [sic ] для приготовления кофе ».

Несмотря на шутливый характер своего происхождения или, возможно, из-за этого, протокол оставался незначительным в Интернете. Редактор Emacs включает полностью функциональную реализацию на стороне клиента,[6] и существует ряд отчетов об ошибках, в которых Mozilla отсутствие поддержки протокола.[7] Через десять лет после публикации HTCPCP Консорциум кофе, контролируемый Интернетом (WC3) опубликовал первый вариант словаря HTCPCP в RDF "[8] в пародии на Консорциум World Wide Web (W3C) "Словарь HTTP в RDF".[9]

1 апреля 2014 г. RFC 7168 расширенный протокол HTCPCP для работы с чайниками.[4]

Команды и ответы

HTCPCP является расширением HTTP. Запросы HTCPCP обозначаются Единый идентификатор ресурса (URI) схема кофе (или соответствующее слово на любом другом из 29 перечисленных языков) и содержат несколько дополнений к методам HTTP:

Заваривать или СООБЩЕНИЕЗаставляет сервер HTCPCP варить кофе. Использование POST для этой цели не рекомендуется. Новый Поле заголовка HTTP-запроса Предлагается «Accept-Additions», поддерживающий дополнительные добавки, включая сливки, цельное молоко, ваниль, малину, виски, Aquavit и т. Д.
ПОЛУЧИТЬ«Получает» кофе с сервера HTCPCP.
PROPFINDВозврат метаданные насчет кофе.
КОГДАГоворит "когда", в результате чего сервер HTCPCP перестает заливать молоко в кофе (если применимо).

Он также определяет два ответы об ошибках:

406 неприемлемоСервер HTCPCP по какой-то причине не может предоставить запрошенное дополнение; в ответе должен быть указан список доступных дополнений. RFC отмечает, что «на практике большинство автоматических кофейников в настоящее время не могут предоставлять дополнения».
418 я чайникСервер HTCPCP - это заварочный чайник; получившееся тело объекта "может быть коротким и крепким" (отсылка к песне "Я маленький чайник "). Существуют демонстрации такого поведения.[1][10]

Сохранить 418 движения

5 августа 2017 г. Марк Ноттингем, председатель IETF Рабочая группа HTTPBIS призвала удалить код состояния 418 «Я чайник» из Node.js Платформа, код, реализованный со ссылкой на исходный 418 «Я чайник», установленный в протоколе управления гипертекстовым кофейником.[11] 6 августа 2017 года Ноттингем потребовал, чтобы ссылки на 418 «Я чайник» были удалены из языка программирования. Идти[12] а затем из Python с Запросы[13] и ASP.NET библиотека HttpAbstractions[14] также.

В ответ 15-летний разработчик Шейн Брансуик создал веб-сайт save418.com,[15] и основал «Движение за спасение 418», утверждая, что ссылки на 418 «Я чайник» в различных проектах служат «напоминанием о том, что основные процессы в компьютерах по-прежнему создаются людьми». Сайт Brunswick стал вирусным через несколько часов после его публикации, собрав тысячи голосов в социальной сети. Reddit,[16] и вызвало массовое внедрение "# save418" Twitter хэштег, который он ввел на своем сайте. Принимая во внимание общественный резонанс, Node.js, Go, Python Requests и библиотека HttpAbstractions ASP.NET решили не удалять 418 «Я чайник» из своих проектов. Единодушная поддержка вышеупомянутых проектов и широкой общественности побудила Ноттингем начать процесс пометки 418 как зарезервированного кода состояния HTTP,[17] гарантия того, что 418 не будет заменен официальным кодом статуса в обозримом будущем.

5 октября 2020 года был выпущен Python 3.9 с обновленной библиотекой http, включая 418 IM_A_TEAPOT код состояния.[18] В соответствующем запросе на вытягивание механизм Save 418 прямо упоминался в поддержку принятия.[19]

Смотрите также

использованная литература

  1. ^ а б Реддингтон, Джозеф, Иллюстрированная реализация ошибки 418, заархивировано из оригинал на 2015-09-06, получено 2014-10-18
  2. ^ «Запрос комментариев 2324», Сетевая рабочая группа, IETF
  3. ^ ДеНардис, Лаура (30 сентября 2009 г.). Политика протокола: глобализация управления Интернетом. MIT Press. стр. 27ff. ISBN  978-0-262-04257-4. Получено 8 мая 2012.
  4. ^ а б «Запрос комментариев 7168», Гипертекстовый протокол управления кофейником для устройств для отвода чая (HTCPCP-TEA), IETF
  5. ^ Ларри Масинтер. «RFC IETF». Архивировано из оригинал 27 марта 2013 г.
  6. ^ "Расширение Emacs: coffee.el", Emarsden, Chez.
  7. ^ «Ошибка 46647 - (обработчик кофе) HTCPCP не поддерживается (RFC2324)», Bugzilla, Mozilla
  8. ^ Словарь HTCPCP в RDF - проект WC3 RFC, Главный Арабика (Консорциум кофе, контролируемый через Интернет), 1 апреля 2008 г., получено 27 апреля 2017
  9. ^ Кох, Йоханнес (ред.), Словарь HTTP в RDF, и другие, W3, получено 17 августа 2009
  10. ^ «Командир Goblin Teasmade с реализацией ошибки 418». Архивировано из оригинал на 2014-12-06. Получено 2014-07-26.
  11. ^ Марк Ноттингем. "418 Я чайник # 14644".
  12. ^ Марк Ноттингем. "net / http: удалить поддержку кода состояния 418. Я чайник".
  13. ^ Марк Ноттингем. «418 418 Я чайник № 4238».
  14. ^ Марк Ноттингем. «418 Я чайник # 915».
  15. ^ Шейн Брансуик. «Движение Спасения 418 - Мы чайники».
  16. ^ «Код ошибки HTTP 418« Я чайник »собирается удалить из узла. Мы должны что-то предпринять. [X-post / r / webdev]».
  17. ^ Марк Ноттингем. «Резервирование 418».
  18. ^ «Что нового в Python 3.9 - документация по Python 3.9.0». Документация Python. 2020-10-05. Получено 2020-10-08.
  19. ^ «Проблема 39507: в HTTP-библиотеке отсутствует код состояния HTTP 418« Я чайник »- трекер Python». bugs.python.org. Получено 2020-10-08.

внешние ссылки