Hyper Text Кофейник Control Protocol ( HTCPCP ) является шутливым протокол связи для управления, контроля и диагностики кофейники . Это указано в RFC 2324 , опубликованной 1 апреля 1998 года в качестве дня первоапрельский RFC , [2] в рамках шалость апреля дураков . [3] Расширение HTCPCP-TEA было опубликовано 1 апреля 2014 года как RFC 7168 [4] для поддержки пивоварения чая, что также является RFC Первого апреля.
Протокол [ править ]
RFC 2324 был написан Ларри Масинтером , который описывает его как сатиру, говоря: «У этого есть серьезная цель - он определяет многие способы ненадлежащего расширения HTTP ». [5] Формулировка протокола проясняет, что это не совсем серьезно; например, в нем отмечается, что «существует сильное, темное, насыщенное требование к протоколу, разработанному эспрессо [ sic ] для приготовления кофе».
Несмотря на шутливый характер своего происхождения или, возможно, из-за этого, протокол оставался незначительным присутствием в Интернете. Редактор Emacs включает в себя полнофункциональную реализацию на стороне клиента [6], и существует ряд отчетов об ошибках, в которых жалуются на отсутствие поддержки протокола Mozilla . [7] Через десять лет после публикации HTCPCP Консорциум кофе, контролируемого через Интернет ( WC3 ), опубликовал первый проект «Словарь HTCPCP в RDF » [8] в виде пародии на HTTP-словарь консорциума World Wide Web (W3C). в RDF ». [9]
1 апреля 2014 г. RFC 7168 расширил протокол HTCPCP для полной поддержки чайников. [4]
Команды и ответы [ править ]
HTCPCP - это расширение HTTP . Запросы HTCPCP идентифицируются с помощью схемы универсального идентификатора ресурса (URI) coffee
(или соответствующего слова на любом другом из 29 перечисленных языков) и содержат несколько дополнений к методам HTTP:
BREW или же POST | Заставляет сервер HTCPCP подавать кофе . Использование POST для этой цели не рекомендуется. Предлагается новое поле заголовка HTTP-запроса «Accept-Additions», поддерживающее необязательные добавления, включая сливки, цельное молоко, ваниль, малину, виски, аквавит и т. Д. |
GET | «Получает» кофе с сервера HTCPCP. |
PROPFIND | Возвращает метаданные о кофе. |
WHEN | Говорит «когда» , заставляя сервер HTCPCP перестать наливать молоко в кофе (если применимо). |
Он также определяет два ответа на ошибку :
406 Not Acceptable | Сервер HTCPCP по какой-то причине не может предоставить запрошенное дополнение; в ответе должен быть указан список доступных дополнений. RFC отмечает, что «на практике большинство автоматических кофейников в настоящее время не могут предоставлять дополнения». |
418 I'm a teapot | Сервер HTCPCP - это чайник ; получившееся тело сущности «может быть коротким и крепким» (отсылка к песне « I'm a Little Teapot »). Существуют демонстрации такого поведения. [1] [10] |
Сохранить движение 418 [ править ]
5 августа 2017 года Марк Ноттингем , председатель рабочей группы IETF HTTPBIS, призвал удалить код состояния 418 «Я чайник» с платформы Node.js , код, реализованный со ссылкой на исходный код 418 «Я». м чайник », установленный в протоколе управления гипертекстовым кофейником. [11] На 6 августа 2017 года, Nottingham просил , чтобы ссылки на 418 «Я чайник» быть удален из языка программирования Go [12] , а затем из Python «s запросов [13] и ASP.NET » s HttpAbstractions библиотеки [ 14] .
В ответ 15-летний разработчик Шейн Брансуик создал веб-сайт save418.com [15] и учредил «Движение за спасение 418», утверждая, что ссылки на 418 «Я чайник» в различных проектах служат « напоминание о том, что процессы, лежащие в основе компьютеров, по-прежнему создаются людьми ». Сайт Brunswick пошли вирусные в течение нескольких часов после его публикации, собирая тысячи upvotes на платформе социальной Reddit , [16] и вызывает массовое принятие «# save418» Twitterхэштег, который он ввел на своем сайте. Принимая во внимание общественный резонанс, Node.js, Go, Python's Requests и библиотека HttpAbstractions ASP.NET решили не удалять 418 «Я чайник» из своих проектов. Единодушная поддержка вышеупомянутых проектов и широкой общественности побудила Ноттингем начать процесс маркировки 418 как зарезервированного кода состояния HTTP [17], гарантируя, что 418 не будет заменен официальным кодом состояния в обозримом будущем.
5 октября 2020 года был выпущен Python 3.9 с обновленной библиотекой http, включая 418 IM_A_TEAPOT
код состояния. [18] В соответствующем запросе на вытягивание механизм Save 418 прямо упоминался в поддержку принятия. [19]
См. Также [ править ]
- Кофейник Trojan Room
- Интернет вещей
- Список кодов состояния HTTP § ошибки клиента 4xx
Ссылки [ править ]
- ^ a b Реддингтон, Джозеф, Иллюстрированная реализация ошибки 418 , заархивировано из оригинала 06.09.2015 , получено 18.10.2014
- ^ «Запрос комментариев 2324», Сетевая рабочая группа , IETF
- ^ DeNardis, Лаура (30 сентября 2009). Политика протокола: глобализация управления Интернетом . MIT Press. стр. 27ff. ISBN 978-0-262-04257-4. Проверено 8 мая 2012 года .
- ^ a b «Запрос комментариев 7168», Протокол управления гипертекстовым кофейником для устройств для отвода чая (HTCPCP-TEA) , IETF
- ^ Masinter, Ларри . «RFC IETF» . Архивировано из оригинала на 2013-03-27.
- ^ "Расширение Emacs: coffee.el", Emarsden , Chez.
- ^ «Ошибка 46647 - (обработчик кофе) HTCPCP не поддерживается (RFC2324)» , Bugzilla , Mozilla
- ^ HTCPCP Vocabulary in RDF - WC3 RFC Draft , Chief Arabica (Web-Controlled Coffee Consortium), 1 апреля 2008 г. , получено 27 апреля 2017 г. - через github
- ↑ Koch, Johannes (ed.), HTTP Vocabulary in RDF , et al, W3 , получено 17 августа 2009 г.
- ^ "Командир Goblin Teasmade с реализацией ошибки 418" . Архивировано из оригинала на 2014-12-06 . Проверено 26 июля 2014 .
- ^ Ноттингем, Марк . «418 I'm A Teapot # 14644» - через github.
- ^ Ноттингем, Марк. "net / http: удалить поддержку кода состояния 418 Я чайник" - через github.
- ^ Ноттингем, Марк. «418 418 I'm a Teapot # 4238» - через github.
- ^ Ноттингем, Марк. «418 I'm a Teapot # 915» - через github.
- ^ Брансуик, Шейн. «Мы чайники» . Движение Save 418 .
- ^ «HTTP Error Code 418 I'm a Teapot собирается быть удаленным с узла. Мы должны что-то сделать. [X-post / r / webdev]» - через reddit.
- ^ Ноттингем, Марк. «Резервирование 418» - через гитхаб.
- ^ «Что нового в Python 3.9 - документация по Python 3.9.0» . Документация по Python . 2020-10-05 . Проверено 8 октября 2020 .
- ^ "Проблема 39507: в HTTP-библиотеке отсутствует код состояния HTTP 418" Я чайник "- трекер Python" . bugs.python.org . Проверено 8 октября 2020 .
Внешние ссылки [ править ]
- Демонстрационная страница Google: Ошибка 418 (я чайник) !?
- Реализация пакета чайника HTCPCP-TEA Дэвида Скиннера
- error418.net