Changeset 2557 for draft-ietf-httpbis/latest/p1-messaging.xml
- Timestamp:
- 18/01/14 05:06:05 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p1-messaging.xml
r2555 r2557 113 113 <abstract> 114 114 <t> 115 The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for 116 distributed, collaborative, hypertext information systems. HTTP has been in 117 use by the World Wide Web global information initiative since 1990. 115 The Hypertext Transfer Protocol (HTTP) is a stateless application-level 116 protocol for distributed, collaborative, hypertext information systems. 118 117 This document provides an overview of HTTP architecture and its associated 119 118 terminology, defines the "http" and "https" Uniform Resource Identifier 120 (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements,121 and describes generalsecurity concerns for implementations.119 (URI) schemes, defines the HTTP/1.1 message syntax and parsing 120 requirements, and describes related security concerns for implementations. 122 121 </t> 123 122 </abstract> … … 144 143 <t> 145 144 The Hypertext Transfer Protocol (HTTP) is a stateless application-level 146 request/response protocol that uses extensible semantics and self-descriptive147 message payloads for flexible interaction with network-based hypertext148 information systems. This document is the first in a series of documents149 that collectively form the HTTP/1.1 specification:145 request/response protocol that uses extensible semantics and 146 self-descriptive message payloads for flexible interaction with 147 network-based hypertext information systems. This document is the first in 148 a series of documents that collectively form the HTTP/1.1 specification: 150 149 <list style="empty"> 151 150 <t>RFC xxx1: Message Syntax and Routing</t> … … 273 272 <section title="Architecture" anchor="architecture"> 274 273 <t> 275 HTTP was created for the World Wide Web architecture274 HTTP was created for the World Wide Web (WWW) architecture 276 275 and has evolved over time to support the scalability needs of a worldwide 277 276 hypertext system. Much of that architecture is reflected in the terminology … … 5030 5029 <section title="HTTP Version History" anchor="compatibility"> 5031 5030 <t> 5032 HTTP has been in use by the World-Wide Web (WWW) global information initiative 5033 since 1990. The first version of HTTP, later referred to as HTTP/0.9, 5034 was a simple protocol for hypertext data transfer across the Internet 5035 with only a single request method (GET) and no metadata. 5031 HTTP has been in use since 1990. The first version, later referred to as 5032 HTTP/0.9, was a simple protocol for hypertext data transfer across the 5033 Internet, using only a single request method (GET) and no metadata. 5036 5034 HTTP/1.0, as defined by <xref target="RFC1945"/>, added a range of request 5037 methods and MIME-like messaging that could include metadata about the data5038 transferred and modifierson the request/response semantics. However,5035 methods and MIME-like messaging, allowing for metadata to be transferred 5036 and modifiers placed on the request/response semantics. However, 5039 5037 HTTP/1.0 did not sufficiently take into consideration the effects of 5040 5038 hierarchical proxies, caching, the need for persistent connections, or … … 5047 5045 HTTP/1.1 remains compatible with HTTP/1.0 by including more stringent 5048 5046 requirements that enable reliable implementations, adding only 5049 those new features that willeither be safely ignored by an HTTP/1.05047 those features that can either be safely ignored by an HTTP/1.0 5050 5048 recipient or only sent when communicating with a party advertising 5051 5049 conformance with HTTP/1.1. 5052 5050 </t> 5053 5051 <t> 5054 It is beyond the scope of a protocol specification to mandate 5055 conformance with previous versions. HTTP/1.1 was deliberately 5056 designed, however, to make supporting previous versions easy. 5057 We would expect a general-purpose HTTP/1.1 server to understand 5058 any valid request in the format of HTTP/1.0 and respond appropriately 5059 with an HTTP/1.1 message that only uses features understood (or 5060 safely ignored) by HTTP/1.0 clients. Likewise, we would expect 5061 an HTTP/1.1 client to understand any valid HTTP/1.0 response. 5062 </t> 5063 <t> 5064 Since HTTP/0.9 did not support header fields in a request, 5065 there is no mechanism for it to support name-based virtual 5066 hosts (selection of resource by inspection of the <x:ref>Host</x:ref> header 5067 field). Any server that implements name-based virtual hosts 5068 ought to disable support for HTTP/0.9. Most requests that 5069 appear to be HTTP/0.9 are, in fact, badly constructed HTTP/1.x 5070 requests wherein a buggy client failed to properly encode 5071 linear whitespace found in a URI reference and placed in 5072 the request-target. 5052 HTTP/1.1 has been designed to make supporting previous versions easy. 5053 A general-purpose HTTP/1.1 server ought to be able to understand any valid 5054 request in the format of HTTP/1.0, responding appropriately with an 5055 HTTP/1.1 message that only uses features understood (or safely ignored) by 5056 HTTP/1.0 clients. Likewise, an HTTP/1.1 client can be expected to 5057 understand any valid HTTP/1.0 response. 5058 </t> 5059 <t> 5060 Since HTTP/0.9 did not support header fields in a request, there is no 5061 mechanism for it to support name-based virtual hosts (selection of resource 5062 by inspection of the <x:ref>Host</x:ref> header field). 5063 Any server that implements name-based virtual hosts ought to disable 5064 support for HTTP/0.9. Most requests that appear to be HTTP/0.9 are, in 5065 fact, badly constructed HTTP/1.x requests caused by a client failing to 5066 properly encode the request-target. 5073 5067 </t> 5074 5068
Note: See TracChangeset
for help on using the changeset viewer.