HTCPCP: различия между версиями

Материал из in.wiki
Перейти к навигации Перейти к поиску
w>Skmp
м (слишком много повторений слова "протокол")
w>Jet Jerry
Строка 2: Строка 2:
 
'''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''', [[гипертекст]]овый [[Сетевой протокол|протокол]] управления [[Кофеварка|кофеваркой]]) — протокол для управления, слежения и диагностики приборов для приготовления [[кофе]].
 
'''Hyper Text Coffee Pot Control Protocol''' ('''HTCPCP''', [[гипертекст]]овый [[Сетевой протокол|протокол]] управления [[Кофеварка|кофеваркой]]) — протокол для управления, слежения и диагностики приборов для приготовления [[кофе]].
  
HTCPCP описан в RFC 2324, опубликованном [[1 апреля]] [[1998 год]]а. Хотя [[RFC]], описывающий протокол, является [[первоапрельские RFC|первоапрельской шуткой]] и не может приниматься всерьёз, он описывает сам протокол достаточно серьёзно, так, как будто он является реально существующим. Пока не существует ни одной известной полноценной реализации этого протокола.
+
HTCPCP описан в RFC 2324, опубликованном [[1 апреля]] [[1998 год]]а. Хотя [[RFC]], описывающий протокол, является [[первоапрельские RFC|первоапрельской шуткой]] и не может приниматься всерьёз, он описывает сам протокол достаточно серьёзно, так, как будто он является действительно существующим. Пока не существует ни одной известной полноценной реализации этого протокола.
  
 
HTCPCP является расширением [[HTTP]]. Запросы HTCPCP определяются с помощью схемы [[URI]] <code>coffee:</code> и содержат несколько добавлений к HTTP-запросам:
 
HTCPCP является расширением [[HTTP]]. Запросы HTCPCP определяются с помощью схемы [[URI]] <code>coffee:</code> и содержат несколько добавлений к HTTP-запросам:
Строка 37: Строка 37:
 
[[Категория:Интернет-протоколы]]
 
[[Категория:Интернет-протоколы]]
 
[[Категория:Культура потребления кофе]]
 
[[Категория:Культура потребления кофе]]
[[Категория:Аббревиатура]]
 

Версия от 22:33, 12 сентября 2018

Кофеварка для приготовления эспрессо

Hyper Text Coffee Pot Control Protocol (HTCPCP, гипертекстовый протокол управления кофеваркой) — протокол для управления, слежения и диагностики приборов для приготовления кофе.

HTCPCP описан в RFC 2324, опубликованном 1 апреля 1998 года. Хотя RFC, описывающий протокол, является первоапрельской шуткой и не может приниматься всерьёз, он описывает сам протокол достаточно серьёзно, так, как будто он является действительно существующим. Пока не существует ни одной известной полноценной реализации этого протокола.

HTCPCP является расширением HTTP. Запросы HTCPCP определяются с помощью схемы URI coffee: и содержат несколько добавлений к HTTP-запросам:

  • BREW или POST: заставляет HTCPCP-сервер заваривать кофе.
  • GET: получение кофе от HTCPCP-сервера.
  • PROPFIND: поиск метаданных о кофе.
  • WHEN: Сказав «when», клиент заставляет HTCPCP-сервер завершить добавление молока в кофе (если это возможно).

Также сервер может возвращать ошибки. Ниже представлены их коды:

  • 406 «Not Acceptable» (Ошибка 406: Не приемлемо) — возвращается при ситуации, когда сервер не в состоянии выполнить запрос клиента; ответ сервера при этом должен содержать также перечень видов кофе, доступных для приготовления.
  • 418 «I’m a teapot» (Ошибка 418: Я — чайник) — возвращается при попытке приготовить кофе с помощью чайника.

Как было отмечено Стефаном Мёбиусом, предложенная спецификация протокола HTCPCP имеет тот недостаток, что не предусматривает кода ошибки «Out of Coffee» для случая, когда кофе в кофеварке закончился. Обсуждаются возможности расширения спецификации протокола для случаев других напитков: чая, пива, молока и т. п.

Интересные факты

Некоторые веб-фреймворки поддерживают HTTP-статус 418 «I’m a teapot», например Django[1], Flask (Werkzeug[2]), Symfony[3], Yii[4], Spring и Bottle[5].

См. также

Ссылки

  • RFC 2324 — Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)
  • HOWTO-Coffee — Руководство по приготовлению кофе с помощью Linux

Примечания

  1. django/django (англ.). GitHub. Дата обращения: 18 мая 2017.
  2. pallets/werkzeug (англ.). GitHub. Дата обращения: 18 мая 2017.
  3. symfony/http-foundation (англ.). GitHub. Дата обращения: 18 мая 2017.
  4. yiisoft/yii2. GitHub. Дата обращения: 25 сентября 2015.
  5. bottlepy/bottle. GitHub. Дата обращения: 23 апреля 2016.

Ошибка Lua в Модуль:Navbox на строке 353: attempt to index local 'listText' (a nil value).