پروتکل ابرمتن کنترل قوری قهوه (به انگلیسی: Hyper Text Coffee Pot Control Protocol (HTCPCP)) یک پروتکل ارتباطی برای کنترل، نظارت و تشخیص قوریهای قهوه است که در درخواست نظر شماره RFC 2324 تعریف شدهاست و در اول آوریل سال ۱۹۹۸ به عنوان یک شوخی آوریل (دروغ ۱۳) منتشر شد. افزونه HTCPCP-TEA با عنوان RFC 7168 در تاریخ ۱ آوریل ۲۰۱۴[۲] برای پشتیبانی از دم نوش چای در سطح وب منتشر شد که همان RFC روز اول آوریل است.
آر اف سی ۲۳۲۴ (RFC 2324) توسط لری ماسینتر نوشته شدهاست، که آن را به عنوان یک شوخی توصیف میکند و میگوید: «این پروتکل یک هدف جدی دارد و بسیاری از راههای گسترش نامناسب پروتکل HTTP را مشخص میکند.»[۳] متن توضیحات پروتکل توضیح میدهد که این پروتکل اصلاً جدی نیست. به عنوان مثال، اعلام میکند که "یک نیاز شدید، تاریک و غلیظ برای پروتکل تهیه قهوه اسپرسو وجود دارد ".
با وجود ماهیت شوخی آن، این پروتکل به صورت جزئی در اینترنت باقی ماندهاست. ویرایشگر ایمکس شامل یک برنامه کاملاً کاربردی مرتبط با این پروتکل است[۴] و تعدادی از گزارشهای خطای عدم پشتیبانی در موزیلا مربوط به این پروتکل است.[۵] ده سال پس از انتشار HTCPCP، کنسرسیوم قهوه تحت کنترل وب (WC3) اولین پیش نویس "واژگان HTCPCP در سیستم چارچوب توصیف منبع (RDF) "[۶] را در تقلید به کنسرسیوم شبکه جهانی وب (W3C) و "واژگان HTTP در RDF" منتشر کرد. .[۷]
در اول آوریل ۲۰۱۴، RFC 7168 HTCPCP گسترش داده شد تا بهطور کامل از قوریهای چای پشتیبانی کند.[۲]
HTCPCP پسوند HTTP است. درخواستهای HTCPCP با استفاده از برنامه شناسانهٔ منبع یکسان (URI) coffee (یا کلمه مربوط به هر زبان دیگر از ۲۹ زبان پشتیبانی شده) شناسایی میشوند و حاوی چندین مورد اضافی به روشهای HTTP هستند:
coffee
BREW
POST
GET
PROPFIND
WHEN
همچنین دو پاسخ خطا را تعریف میکند:
406 Not Acceptable
418 I'm a teapot
در ۵ اوت ۲۰۱۷، مارک ناتینگهام، رئیس گروه کاری IETF HTTPBIS، خواستار حذف کد وضعیت ۴۱۸ «من یک قوری هستم» از پلتفرم Node.js شد هدف او حذف قسمتی از کد اجرا شده با توجه به ۴۱۸ «من یک قوری هستم» اصلی که در پروتکل HTTP ایجاد شده بود.[۹] در ۶ اوت ۲۰۱۷، ناتینگهام درخواست کرد که ارجاع به 418 "I'm a teapot" از زبان برنامهنویسی Go[۱۰] و متعاقباً از پایتون[۱۱] و ایاسپیداتنت (ASP) حذف شود.
در پاسخ، توسعه دهنده ۱۵ ساله، شین برانزویک، وب سایت save418.com را ایجاد کرد،[۱۲] و "جنبش ذخیره ۴۱۸" را تأسیس کرد و اظهار داشت که ارجاع به ۴۱۸ "من یک قوری هستم" در پروژههای مختلف به عنوان "یک" یادآور که فرایندهای اساسی رایانهها هنوز توسط انسان ساخته میشوند ". سایت برانزویک ساعاتی پس از انتشار همه گیر (وایرال) شد و در بستر شبکه اجتماعی ردیت[۱۳] هزاران رأی موافق جمع کرد و باعث استقبال گسترده از هشتگ توییتر "# save418" شد که وی در سایت خود معرفی کرده بود. توجه به این اعتراضات عمومی، Node.js , Go , Python's Requests و ASP. کتابخانه HttpAbstractions NET تصمیم به حذف ۴۱۸ "من یک قوری هستم" از پروژههای مربوط را لغو کردند. حمایت یکپارچه پروژههای یادشده و عموم مردم، ناتینگهام را بر آن داشت تا کد ۴۱۸ را به عنوان کد رزرو شده برای وضعیت HTTP را تأیید کند[۱۴] و اطمینان حاصل کند که ۴۱۸ با کد وضعیت رسمی دیگری در آینده جایگزین نخواهد شد.
در ۵ اکتبر ۲۰۲۰، پایتون ۳٫۹ با یک کتابخانه http به روز شده شامل 418 IM_A_TEAPOT با کد وضعیت IM_A_TEAPOT منتشر شد.[۱۵] در درخواست مربوط به به روز رسانی، جنبش حفظ ۴۱۸ (Save 418) مستقیماً به عموان دلیل این به روز رسانی ذکر شد.[۱۶]
418 IM_A_TEAPOT