HTCPCP

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

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

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

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

  • BREW или POST: Заставляет сервер HTCPCP подавать кофе. Использование POST для этой цели не рекомендуется. Предлагается новое поле заголовка HTTP-запроса «Accept-Additions», поддерживающее дополнительные ингредиенты, включая сливки, цельное молоко, ваниль, малину, виски и т. д.
  • GET: «получает» кофе от HTCPCP-сервера.
  • PROPFIND: возвращает метаданные о кофе.
  • WHEN: Заставляет HTCPCP-сервер завершить добавление молока в кофе (если это возможно).

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

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

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

Использование

HTTP-статус 418 «I’m a teapot» является шуточным, и не ожидается, что он будет поддерживаться реальными серверами, однако он до сих пор иногда используется в качестве пасхального яйца. Данный код ошибки поддерживают такие веб-фреймворки, как ASP.NET[1], NestJS[2], Django[3], Flask (Werkzeug[4]), Symfony[5], Yii[6], Spring и Bottle[7]. На сайте Google имеется веб-страница, обращение к которой приводит к появлению ошибки 418. На самой странице изображён чайник, из которого можно налить чай в чашку, нажав на него, или наклонив устройство в мобильной версии. Сайт https://huku.one/teapot возвращает стандартную страницу ошибок Apache с кодом 418, хотя сам веб-сервер не поддерживает данный код.

В период Российско-украинского кризиса (2021—2022) сайт Министерства обороны Российской Федерации mil.ru в качестве меры для защиты от DoS-атак возвращал ошибку 418 при попытке доступа из-за пределов России.[8][9]. Впервые такое поведение было замечено в декабре 2021 года.[10]

Ссылки

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

Примечания

  1. dotnet/aspnetcore (англ.). GitHub. Дата обращения: 4 июля 2022. Архивировано 5 июля 2022 года.
  2. Documentation | NestJS - A progressive Node.js framework (англ.). Documentation | NestJS - A progressive Node.js framework. Дата обращения: 28 апреля 2021. Архивировано 1 мая 2021 года.
  3. django/django (англ.). GitHub. Дата обращения: 18 мая 2017.
  4. pallets/werkzeug (англ.). GitHub. Дата обращения: 18 мая 2017.
  5. symfony/http-foundation (англ.). GitHub. Дата обращения: 18 мая 2017.
  6. yiisoft/yii2. GitHub. Дата обращения: 25 сентября 2015. Архивировано 13 сентября 2024 года.
  7. bottlepy/bottle. GitHub. Дата обращения: 23 апреля 2016. Архивировано 18 февраля 2016 года.
  8. Russia appears to deploy digital defenses after DDoS attacks (англ.). The Record by Recorded Future (25 февраля 2022). Дата обращения: 26 февраля 2022. Архивировано 26 февраля 2022 года.
  9. I Went to a Russian Website and All I Got Was This Lousy Teapot (англ.). PCMag. Дата обращения: 28 февраля 2022. Архивировано 28 февраля 2022 года.
  10. Russian MoD website blocked for non-Russian IPs | Hacker News. Дата обращения: 4 июля 2022. Архивировано 26 февраля 2022 года.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.