本规范用了许多与参与方、对象及HTTP通讯相关的术语,如下:
连接(connection)两个应用程序以通讯为目的在传输层建立虚拟电路。
消息(message) HTTP通讯的基本单元,在连接中传输的结构化的、有顺序的字节
请求(request) HTTP的请求消息
回应(response) HTTP的回应消息
资源(resource) 网络上可以用URI来标识的数据对象或服务
实体(entity)可被附在请求或回应消息中的特殊的表示法、数据资源的表示、服务资源的回应等,由实体标题(entity header)或实体主体(entity body)内容形式存在的元信息组成。
客户端(client) 指以发出请求为目的而建立连接的应用程序。
用户代理(user agent)指初始化请求的客户端,如浏览器、编辑器、蜘蛛(web爬行机器人)或其它终端用户工具。
服务器(server) 指接受连接,并通过发送回应来响应服务请求的应用程序。
原始服务器(origin server)存放资源或产生资源的服务器。
代理(proxy) 同时扮演服务器及客户端角色的中间程序,用来为其它客户产生请求。请求经过变换,被传递到最终的目的服务器,在代理程序内部,请求或被处理,或被传递。代理必须在消息转发前对消息进行解释,而且如有必要还得重写消息。代理通常被用作经过防火墙的客户端出口,用以辅助处理用户代理所没实现的请求。
网关(gateway) 服务器之间的服务器。与代理不同,网关接受请求就好象它就是被请求资源所在的原始服务器,发出请求的客户端可能并没有意识到它在与网关进行通讯。网关是网络防火墙服务器端的门户。对非HTTP系统资源进行访问时,网关做为中间的协议翻译者。
隧道(tunnel)隧道就好象连接两端看不见的中继器。处于激活状态时,它虽然是由HTTP请求来初始化的,但它并不参与HTTP通讯。当需要中继连接的两端关闭后,隧道也自然终止。在入口有需求及中间程序无法或不该解释要中继的通讯时,通常要用到隧道技术。
缓存(cache) 指程序本地存储的回应消息和用来控制消息存储、重获、删除的子系统。缓存回应的目的是为减少请求回应时间,以及未来一段时间对网络带宽的消耗。任何客户端及服务端都可以包含缓存。服务器在以隧道方式工作时不能使用缓存。
任何指定的程序都有能力同时做为客户端和服务器。我们在使用这个概念时,不是看程序功能上是否能实现客户及服务器,而是看程序在特定连接时段上扮演何种角色(客户或服务器)。同样,任何服务器可以扮演原始服务器、代理、网关、隧道等角色,行为的切换取决于每次请求的内容。
HTTP协议是基于请求/回应机制的。客户端与服务器端建立连接后,以请求方法、URI、协议版本等方式向服务器端发出请求,该请求可跟随包含请求修饰符、客户信息、及可能的请求体(body)内容的MIME类型消息。 服务器端通过状态队列(status line)来回应,内容包括消息的协议版本、成功或错误代
码,也跟随着包含服务器信息、实体元信息及实体内容的MIME类型消息。 绝大多数HTTP通讯由用户代理进行初始化,并通过它来组装请求以获取存储在一些原始服务器上的资源。在最简单的情况下,通过用户代理(UA)与原始服务器(O)之间一个简单的连接(v)就可以完成。
.........................................
此处省略若干字
The brief introduction of HTTP
The Hypertext Transfer Protocol (HTTP) is an application-level protocol with the lightness and speed necessary for distributed, collaborative, hypermedia information systems. HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification reflects common usage of the protocol referred too as"HTTP/1.0". This specification describes the features that seem to be consistently implemented in most HTTP/1.0 clients and servers. The specification is split into two sections. Those features of HTTP for which implementations are usually consistent are described in the main body of this document. Those features which have few or inconsistent implementations are listed in Appendix D. Practical information systems require more functionality than simple retrieval, including search, front-end update, and annotation. HTTP allows an open-ended set of methods to be used to indicate the purpose of a request. It builds on the discipline of reference provided by the Uniform Resource Identifier (URI) [2], as a location(URL) [4] or name (URN) [16], for indicating the resource on which a method is to be applied. Messages are passed in a format similar to that used by Internet Mail [7] and the Multipurpose Internet Mail Extensions (MIME) [5].HTTP is also used as a generic protocol for communication between user agents and proxies/gateways to other Internet protocols, such as SMTP [12], NNTP [11], FTP [14], Gopher [1], and WAIS [8], allowing basic hypermedia access to resources available from diverse applications and simplifying the implementation of user agents.
This specification uses a number of terms to refer to the roles played by participants in, and objects of, the HTTP communication. for example.
Connection: A transport layer virtual circuit established between two application programs for the purpose of communication.
Message: The basic unit of HTTP communication, consisting of a structured sequence of octets matching the syntax defined in Section 4 and transmitted via the connection.
Request: An HTTP request message.
Response: An HTTP response message.
Resource: A network data object or service which can be identified by a URI (Section 3.2).
Entity: A particular representation or rendition of a data resource, or reply from a service resource, that may be enclosed within a request or response message. An entity consists of Meta information in the form of entity headers and content in the form of an entity body.
Client: An application program that establishes connections for the purpose of sending requests.
User agent: The client which initiates a request. These are often browsers, editors, spiders (web-traversing robots), or other end user tools.
Server: An application program that accepts connections in order to service requests by sending back responses.
Origin server: The server on which a given resource resides or is to be created.
Proxy: An intermediary program which acts as both a server and a client for the purpose of making requests on behalf of other clients. Requests are serviced internally or by passing them, with possible translation, on to other servers. A proxy must interpret and, if necessary, rewrite a request message before forwarding it. Proxies are often used as client-side portals through network firewalls and as helper applications for handling requests via protocols not implemented by the user agent.
.........................................
此处省略若干字