📄 rfc1945.ps
字号:
5 257 M( played by participants in, and objects of, the HTTP communication.) s5 231 M( connection) s5 205 M( A transport layer virtual circuit established between two) s5 192 M( application programs for the purpose of communication.) s5 166 M( message) s5 140 M( The basic unit of HTTP communication, consisting of a structured) s5 127 M( sequence of octets matching the syntax defined in Section 4 and) s5 114 M( transmitted via the connection.) s5 49 M(Berners-Lee, et al Informational [Page 4]) s_RS%%Page: (5) 5%%BeginPageSetup_S24 24 translate/pagenum 5 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc1945.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc1945.txt) def% User defined strings:/fmodstr (Thu May 16 00:00:00 1996) def/pagenumstr (5) def/user_header_p true def/user_header_left_str (RFC1945) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 5 of 61) def%%EndPageSetupdo_header5 751 M(RFC 1945 HTTP/1.0 May 1996) s5 712 M( request) s5 686 M( An HTTP request message \(as defined in Section 5\).) s5 660 M( response) s5 634 M( An HTTP response message \(as defined in Section 6\).) s5 608 M( resource) s5 582 M( A network data object or service which can be identified by a) s5 569 M( URI \(Section 3.2\).) s5 543 M( entity) s5 517 M( A particular representation or rendition of a data resource, or) s5 504 M( reply from a service resource, that may be enclosed within a) s5 491 M( request or response message. An entity consists of) s5 478 M( metainformation in the form of entity headers and content in the) s5 465 M( form of an entity body.) s5 439 M( client) s5 413 M( An application program that establishes connections for the) s5 400 M( purpose of sending requests.) s5 374 M( user agent) s5 348 M( The client which initiates a request. These are often browsers,) s5 335 M( editors, spiders \(web-traversing robots\), or other end user) s5 322 M( tools.) s5 296 M( server) s5 270 M( An application program that accepts connections in order to) s5 257 M( service requests by sending back responses.) s5 231 M( origin server) s5 205 M( The server on which a given resource resides or is to be created.) s5 179 M( proxy) s5 153 M( An intermediary program which acts as both a server and a client) s5 140 M( for the purpose of making requests on behalf of other clients.) s5 127 M( Requests are serviced internally or by passing them, with) s5 114 M( possible translation, on to other servers. A proxy must) s5 101 M( interpret and, if necessary, rewrite a request message before) s5 49 M(Berners-Lee, et al Informational [Page 5]) s_RS%%Page: (6) 6%%BeginPageSetup_S24 24 translate/pagenum 6 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc1945.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc1945.txt) def% User defined strings:/fmodstr (Thu May 16 00:00:00 1996) def/pagenumstr (6) def/user_header_p true def/user_header_left_str (RFC1945) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 6 of 61) def%%EndPageSetupdo_header5 751 M(RFC 1945 HTTP/1.0 May 1996) s5 712 M( forwarding it. Proxies are often used as client-side portals) s5 699 M( through network firewalls and as helper applications for) s5 686 M( handling requests via protocols not implemented by the user) s5 673 M( agent.) s5 647 M( gateway) s5 621 M( A server which acts as an intermediary for some other server.) s5 608 M( Unlike a proxy, a gateway receives requests as if it were the) s5 595 M( origin server for the requested resource; the requesting client) s5 582 M( may not be aware that it is communicating with a gateway.) s5 569 M( Gateways are often used as server-side portals through network) s5 556 M( firewalls and as protocol translators for access to resources) s5 543 M( stored on non-HTTP systems.) s5 517 M( tunnel) s5 491 M( A tunnel is an intermediary program which is acting as a blind) s5 478 M( relay between two connections. Once active, a tunnel is not) s5 465 M( considered a party to the HTTP communication, though the tunnel) s5 452 M( may have been initiated by an HTTP request. The tunnel ceases to) s5 439 M( exist when both ends of the relayed connections are closed.) s5 426 M( Tunnels are used when a portal is necessary and the intermediary) s5 413 M( cannot, or should not, interpret the relayed communication.) s5 387 M( cache) s5 361 M( A program's local store of response messages and the subsystem) s5 348 M( that controls its message storage, retrieval, and deletion. A) s5 335 M( cache stores cachable responses in order to reduce the response) s5 322 M( time and network bandwidth consumption on future, equivalent) s5 309 M( requests. Any client or server may include a cache, though a) s5 296 M( cache cannot be used by a server while it is acting as a tunnel.) s5 270 M( Any given program may be capable of being both a client and a server;) s5 257 M( our use of these terms refers only to the role being performed by the) s5 244 M( program for a particular connection, rather than to the program's) s5 231 M( capabilities in general. Likewise, any server may act as an origin) s5 218 M( server, proxy, gateway, or tunnel, switching behavior based on the) s5 205 M( nature of each request.) s5 179 M(1.3 Overall Operation) s5 153 M( The HTTP protocol is based on a request/response paradigm. A client) s5 140 M( establishes a connection with a server and sends a request to the) s5 127 M( server in the form of a request method, URI, and protocol version,) s5 114 M( followed by a MIME-like message containing request modifiers, client) s5 101 M( information, and possible body content. The server responds with a) s5 49 M(Berners-Lee, et al Informational [Page 6]) s_RS%%Page: (7) 7%%BeginPageSetup_S24 24 translate/pagenum 7 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc1945.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc1945.txt) def% User defined strings:/fmodstr (Thu May 16 00:00:00 1996) def/pagenumstr (7) def/user_header_p true def/user_header_left_str (RFC1945) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 7 of 61) def%%EndPageSetupdo_header5 751 M(RFC 1945 HTTP/1.0 May 1996) s5 712 M( status line, including the message's protocol version and a success) s5 699 M( or error code, followed by a MIME-like message containing server) s5 686 M( information, entity metainformation, and possible body content.) s5 660 M( Most HTTP communication is initiated by a user agent and consists of) s5 647 M( a request to be applied to a resource on some origin server. In the) s5 634 M( simplest case, this may be accomplished via a single connection \(v\)) s5 621 M( between the user agent \(UA\) and the origin server \(O\).) s5 595 M( request chain ------------------------>) s5 582 M( UA -------------------v------------------- O) s5 569 M( <----------------------- response chain) s5 543 M( A more complicated situation occurs when one or more intermediaries) s5 530 M( are present in the request/response chain. There are three common) s5 517 M( forms of intermediary: proxy, gateway, and tunnel. A proxy is a) s5 504 M( forwarding agent, receiving requests for a URI in its absolute form,) s5 491 M( rewriting all or parts of the message, and forwarding the reformatted) s5 478 M( request toward the server identified by the URI. A gateway is a) s5 465 M( receiving agent, acting as a layer above some other server\(s\) and, if) s5 452 M( necessary, translating the requests to the underlying server's) s5 439 M( protocol. A tunnel acts as a relay point between two connections) s5 426 M( without changing the messages; tunnels are used when the) s5 413 M( communication needs to pass through an intermediary \(such as a) s5 400 M( firewall\) even when the intermediary cannot understand the contents) s5 387 M( of the messages.) s5 361 M( request chain -------------------------------------->) s5 348 M( UA -----v----- A -----v----- B -----v----- C -----v----- O) s5 335 M( <------------------------------------- response chain) s5 309 M( The figure above shows three intermediaries \(A, B, and C\) between the) s5 296 M( user agent and origin server. A request or response message that) s5 283 M( travels the whole chain must pass through four separate connections.) s5 270 M( This distinction is important because some HTTP communication options) s5 257 M( may apply only to the connection with the nearest, non-tunnel) s5 244 M( neighbor, only to the end-points of the chain, or to all connections) s5 231 M( along the chain. Although the diagram is linear, each participant may) s5 218 M( be engaged in multiple, simultaneous communications. For example, B) s5 205 M( may be receiving requests from many clients other than A, and/or) s5 192 M( forwarding requests to servers other than C, at the same time that it) s5 179 M( is handling A's request.) s5 153 M( Any party to the communication which is not acting as a tunnel may) s5 140 M( employ an internal cache for handling requests. The effect of a cache) s5 127 M( is that the request/response chain is shortened if one of the) s5 114 M( participants along the chain has a cached response applicable to that) s5 101 M( request. The following illustrates the resulting chain if B has a) s5 49 M(Berners-Lee, et al Informational [Page 7]) s_RS%%Page: (8) 8%%BeginPageSetup_S24 24 translate/pagenum 8 def/fname (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/rfc1945.txt) def/fdir (/usr/local/share/doc/rfc/Mirrors/ftp.isi.edu/in-notes/) def/ftail (rfc1945.txt) def% User defined strings:/fmodstr (Thu May 16 00:00:00 1996) def/pagenumstr (8) def/user_header_p true def/user_header_left_str (RFC1945) def/user_header_center_str (RFC.net) def/user_header_right_str (Page 8 of 61) def%%EndPageSetupdo_header5 751 M(RFC 1945 HTTP/1.0 May 1996) s5 712 M( cached copy of an earlier response from O \(via C\) for a request which) s5 699 M( has not been cached by UA or A.) s5 673 M( request chain ---------->) s5 660 M( UA -----v----- A -----v----- B - - - - - - C - - - - - - O) s5 647 M( <--------- response chain) s5 621 M( Not all responses are cachable, and some requests may contain) s5 608 M( modifiers which place special requirements on cache behavior. Some) s5 595 M( HTTP/1.0 applications use heuristics to describe what is or is not a) s5 582 M( "cachable" response, but these rules are not standardized.) s5 556 M( On the Internet, HTTP communication generally takes place over TCP/IP) s5 543 M( connections. The default port is TCP 80 [15], but other ports can be) s5 530 M( used. This does not preclude HTTP from being implemented on top of) s5 517 M( any other protocol on the Internet, or on other networks. HTTP only) s5 504 M( presumes a reliable transport; any protocol that provides such) s5 491 M( guarantees can be used, and the mapping of the HTTP/1.0 request and) s5 478 M( response structures onto the transport data units of the protocol in) s5 465 M( question is outside the scope of this specification.) s5 439 M( Except for experimental applications, current practice requires that) s5 426 M( the connection be established by the client prior to each request and) s5 413 M( closed by the server after sending the response. Both clients and) s5 400 M( servers should be aware that either party may close the connection) s5 387 M( prematurely, due to user action, automated time-out, or program) s5 374 M( failure, and should handle such closing in a predictable fashion. In) s5 361 M( any case, the closing of the connection by either or both parties) s5 348 M( always terminates the current request, regardless of its status.) s5 322 M(1.4 HTTP and MIME) s5 296 M( HTTP/1.0 uses many of the constructs defined for MIME, as defined in) s5 283 M( RFC 1521 [5]. Appendix C describes the ways in which the context of) s5 270 M( HTTP allows for different use of Internet Media Types than is) s5 257 M( typically found in Internet mail, and gives the rationale for those) s5 244 M( differences.) s5 218 M(2. Notational Conventions and Generic Grammar) s5 192 M(2.1 Augmented BNF) s5 166 M( All of the mechanisms specified in this document are described in) s5 153 M
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -