热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HyperTextCoffeePotControlProtocol

The
Hyper Text Coffee Pot Control Protocol

Implementation of HTCPCP at error418.net

Hyper Text Coffee Pot Control Protocol

The Hyper Text Coffee Pot Control Protocol ( HTCPCP ) is a facetious communication protocol for controlling, monitoring, and diagnosingcoffee pots. It is specified in RFC 2324 , published on 1 April 1998 as anApril Fools' Day RFC,as part of anApril Fools prank.An extension, HTCPCP-TEA, was published as RFC 7168 on 1 April 2014to support brewing teas, which is also an April Fools' Day RFC.

Contents

Protocol [ edit ]

RFC 2324 was written by Larry Masinter, who describes it as a satire, saying "This has a serious purpose – it identifies many of the ways in whichHTTP has been extended inappropriately."The wording of the protocol made it clear that it was not entirely serious; for example, it notes that "there is a strong, dark, rich requirement for a protocol designedespressoly [sic] for the brewing of coffee".

Despite the joking nature of its origins, or perhaps because of it, the protocol has remained as a minor presence online. The editorEmacs includes a fully functional client side implementation of it,and a number of bug reports exist complaining aboutMozilla's lack of support for the protocol.Ten years after the publication of HTCPCP, the Web-Controlled Coffee Consortium ( WC3 ) published a first draft of "HTCPCP Vocabulary inRDF"in parody of the World Wide Web Consortium 's (W3C) "HTTP Vocabulary in RDF".

On April 1, 2014, RFC 7168 extended HTCPCP to fully handle teapots.

Commands and replies [ edit ]

HTCPCP is an extension ofHTTP. HTCPCP requests are identified with the Uniform Resource Identifier (URI) scheme coffee (or the corresponding word in any other of the 29 listed languages) and contain several additions to the HTTP methods:

BREW or POST Causes the HTCPCP server to brewcoffee. Using POST for this purpose is deprecated. A new HTTP request header field "Accept-Additions" is proposed, supporting optional additions including Cream, Whole-milk, Vanilla, Raspberry, Whisky, Aquavit, etc.
GET "Retrieves" coffee from the HTCPCP server.
PROPFIND Returnsmetadata about the coffee.
WHEN Says "when" , causing the HTCPCP server to stop pouringmilk into the coffee (if applicable).

It also defines twoerror responses:

406 Not Acceptable The HTCPCP server is unable to provide the requested addition for some reason; the response should indicate a list of available additions. The RFC observes that "In practice, most automated coffee pots cannot currently provide additions."
418 I'm a teapot The HTCPCP server is ateapot; the resulting entity body "may be short and stout" (a reference to the song "I'm a Little Teapot"). Demonstrations of this behaviour exist.

Save 418 movement [ edit ]

On 5 August 2017,Mark Nottingham, chairman of theIETF HTTPBIS Working Group, called for the removal of status code 418 "I'm a teapot" from theNode.js platform, a code implemented in reference to the original 418 "I'm a teapot" established in Hyper Text Coffee Pot Control Protocol.On 6 August 2017, Nottingham requested that references to 418 "I'm a teapot" be removed from the programming languageGo and subsequently fromPython'sRequests andASP.NET's HttpAbstractions libraryas well.

In response, 15 year old developer Shane Brunswick created a website, save418.com,and established the "Save 418 Movement", asserting that references to 418 "I'm a teapot" in different projects serve as "a reminder that the underlying processes of computers are still made by humans". Brunswick's site went viral in the hours following its publishing, garnering thousands of upvotes on the social platformReddit,and causing the mass adoption of the "#save418"Twitter hashtag he introduced on his site. Heeding the public outcry, Node.js, Go, Python's Requests, and ASP.NET's HttpAbstractions library decided against removing 418 "I'm a teapot" from their respective projects. The unanimous support from the aforementioned projects and the general public prompted Nottingham to begin the process of having 418 marked as a reserved HTTP status code,ensuring that 418 will not be replaced by an official status code for the foreseeable future.

See also [ edit ]

Hyper Text Coffee Pot Control Protocol Wikimedia Commons has media related to Coffee pots .

以上所述就是小编给大家介绍的《Hyper Text Coffee Pot Control Protocol》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 我们 的支持!


推荐阅读
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文详细探讨了KMP算法中next数组的构建及其应用,重点分析了未改良和改良后的next数组在字符串匹配中的作用。通过具体实例和代码实现,帮助读者更好地理解KMP算法的核心原理。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本题探讨了一种字符串变换方法,旨在判断两个给定的字符串是否可以通过特定的字母替换和位置交换操作相互转换。核心在于找到这些变换中的不变量,从而确定转换的可能性。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 本文详细探讨了Java中的24种设计模式及其应用,并介绍了七大面向对象设计原则。通过创建型、结构型和行为型模式的分类,帮助开发者更好地理解和应用这些模式,提升代码质量和可维护性。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
author-avatar
菁菁da小姐认_194
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有