IntroductionThe Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia
information systems. HTTP has been in use by the World-Wide Web global information initiative since 1990. The
first version of HTTP, referred to as HTTP/0.9, was a simple protocol for raw data transfer across the Internet.
HTTP/1.0, as defined by RFC 1945 [6], improved the protocol by allowing messages to be in the format of MIME-
like messages, containing metainformation about the data transferred and modifiers on the request/response
semantics. However, HTTP/1.0 does not sufficiently take into consideration the effects of hierarchical proxies,
caching, the need for persistent connections, or virtual hosts. In addition, the proliferation of incompletely-
implemented applications calling themselves “HTTP/1.0” has necessitated a protocol version change in order for two
communicating applications to determine each other’s true capabilities.
This specification defines the protocol referred to as “HTTP/1.1”. This protocol includes more stringent
requirements than HTTP/1.0 in order to ensure reliable implementation of its features.
Practical information systems require more functionality than simple retrieval, including search, front-end update,
and annotation. HTTP allows an open-ended set of methods and headers that indicate the purpose of a request [47].
It builds on the discipline of reference provided by the Uniform Resource Identifier (URI) [3], as a location (URL)
[4] or name (URN) [20], for indicating the resource to which a method is to be applied. Messages are passed in a
format similar to that used by Internet mail [9] as defined by the Multipurpose Internet Mail Extensions (MIME) [7].
HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other
Internet systems, including those supported by the SMTP [16], NNTP [13], FTP [18], Gopher [2], and WAIS [10]
protocols. In this way, HTTP allows basic hypermedia access to resources available from diverse applications.
Protocol Parameters
超文本传输协议(HTTP)是一个为分布式的超媒体信息系统的应用层协议。最早于1990年应用于万维网。第一个版本是HTTP/0.9,这是一个简单的协议只用于在网络上传送原始数据。HTTP/1.0于1945年被定义在RFC里面。改进了的协议允许消息以MIME消息格式存在,包括数据在请求和响应中传输和修改的元信息)。尽管如此,HTTP/1.0没有充分考虑到分层代理,缓存的效率。必须持久化连接或者虚拟主机。另外,“HTTP/1.0”必须要有一个版本来确定两个通信录的应用程序具有确定他们的真实身份的能力,
这个协议被定义为“HTTP/1.1”,1.1包括比1.0更可靠。实际的信息系统要求更多的功能,比如搜索,注释。HTTP允许一个开放式的方法集和标题显示请求的目的,它构建在学科参考提供的统一资源标识符(URI),URL或者URN。为的是能确定指示资源的那个方法被应用。消息通过简单格式被网络邮件使用,MIME。HTTP也被用作普通协议在用户代理和网关和其他网络系统之间通信,比如SMTP,NNTP,FTP。这样,HTTP允许从不同的应用进行基础超媒体访问有效资源。

HTTP Message

Request

Response

Entity

Connections

Method Definitions

Status Code Definitions

Caching in HTTP

Header Field Definitions

Security Considerations