1 | <?xml version="1.0" encoding="utf-8"?> |
---|
2 | <?xml-stylesheet type='text/xsl' href='../myxml2rfc.xslt'?> |
---|
3 | <!DOCTYPE rfc [ |
---|
4 | <!ENTITY MAY "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MAY</bcp14>"> |
---|
5 | <!ENTITY MUST "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MUST</bcp14>"> |
---|
6 | <!ENTITY MUST-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>MUST NOT</bcp14>"> |
---|
7 | <!ENTITY OPTIONAL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>OPTIONAL</bcp14>"> |
---|
8 | <!ENTITY RECOMMENDED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>RECOMMENDED</bcp14>"> |
---|
9 | <!ENTITY REQUIRED "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>REQUIRED</bcp14>"> |
---|
10 | <!ENTITY SHALL "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>SHALL</bcp14>"> |
---|
11 | <!ENTITY SHALL-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>SHALL NOT</bcp14>"> |
---|
12 | <!ENTITY SHOULD "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>SHOULD</bcp14>"> |
---|
13 | <!ENTITY SHOULD-NOT "<bcp14 xmlns='http://purl.org/net/xml2rfc/ext'>SHOULD NOT</bcp14>"> |
---|
14 | <!ENTITY P0-ID-VERSION "latest"> |
---|
15 | <!ENTITY ID-VERSION "latest"> |
---|
16 | <!ENTITY ID-MONTH "March"> |
---|
17 | <!ENTITY ID-YEAR "2013"> |
---|
18 | <!ENTITY mdash "—"> |
---|
19 | <!ENTITY status-codes "<xref target='Part2' x:rel='#status.codes' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> |
---|
20 | <!ENTITY header-cache-control "<xref target='Part6' x:rel='#header.cache-control' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> |
---|
21 | ]> |
---|
22 | <?rfc toc="yes" ?> |
---|
23 | <?rfc symrefs="yes" ?> |
---|
24 | <?rfc sortrefs="yes" ?> |
---|
25 | <?rfc compact="yes"?> |
---|
26 | <?rfc subcompact="no" ?> |
---|
27 | <?rfc linkmailto="no" ?> |
---|
28 | <?rfc editing="no" ?> |
---|
29 | <?rfc comments="yes"?> |
---|
30 | <?rfc inline="yes"?> |
---|
31 | <?rfc rfcedstyle="yes"?> |
---|
32 | <?rfc-ext allow-markup-in-artwork="yes" ?> |
---|
33 | <?rfc-ext include-references-in-index="yes" ?> |
---|
34 | <rfc category="std" x:maturity-level="proposed" |
---|
35 | ipr="pre5378Trust200902" docName="draft-ietf-httpbis-p0-introduction-&P0-ID-VERSION;" |
---|
36 | xmlns:x='http://purl.org/net/xml2rfc/ext'> |
---|
37 | <x:link rel="next" basename="p1-messaging"/> |
---|
38 | <x:feedback template="mailto:ietf-http-wg@w3.org?subject={docname},%20%22{section}%22&body=<{ref}>:"/> |
---|
39 | <front> |
---|
40 | |
---|
41 | <title abbrev="HTTP/1.1 Introduction">Hypertext Transfer Protocol (HTTP/1.1): Introduction</title> |
---|
42 | |
---|
43 | <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor"> |
---|
44 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
45 | <address> |
---|
46 | <postal> |
---|
47 | <street>345 Park Ave</street> |
---|
48 | <city>San Jose</city> |
---|
49 | <region>CA</region> |
---|
50 | <code>95110</code> |
---|
51 | <country>USA</country> |
---|
52 | </postal> |
---|
53 | <email>fielding@gbiv.com</email> |
---|
54 | <uri>http://roy.gbiv.com/</uri> |
---|
55 | </address> |
---|
56 | </author> |
---|
57 | |
---|
58 | <author initials="Y." surname="Lafon" fullname="Yves Lafon" role="editor"> |
---|
59 | <organization abbrev="W3C">World Wide Web Consortium</organization> |
---|
60 | <address> |
---|
61 | <postal> |
---|
62 | <street>W3C / ERCIM</street> |
---|
63 | <street>2004, rte des Lucioles</street> |
---|
64 | <city>Sophia-Antipolis</city> |
---|
65 | <region>AM</region> |
---|
66 | <code>06902</code> |
---|
67 | <country>France</country> |
---|
68 | </postal> |
---|
69 | <email>ylafon@w3.org</email> |
---|
70 | <uri>http://www.raubacapeu.net/people/yves/</uri> |
---|
71 | </address> |
---|
72 | </author> |
---|
73 | |
---|
74 | <author fullname="Mark Nottingham" initials="M." role="editor" surname="Nottingham"> |
---|
75 | <organization>Akamai</organization> |
---|
76 | <address> |
---|
77 | <email>mnot@mnot.net</email> |
---|
78 | <uri>http://www.mnot.net/</uri> |
---|
79 | </address> |
---|
80 | </author> |
---|
81 | |
---|
82 | <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor"> |
---|
83 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
84 | <address> |
---|
85 | <postal> |
---|
86 | <street>Hafenweg 16</street> |
---|
87 | <city>Muenster</city><region>NW</region><code>48155</code> |
---|
88 | <country>Germany</country> |
---|
89 | </postal> |
---|
90 | <email>julian.reschke@greenbytes.de</email> |
---|
91 | <uri>http://greenbytes.de/tech/webdav/</uri> |
---|
92 | </address> |
---|
93 | </author> |
---|
94 | |
---|
95 | <date month="&ID-MONTH;" year="&ID-YEAR;"/> |
---|
96 | <workgroup>HTTPbis Working Group</workgroup> |
---|
97 | |
---|
98 | <abstract> |
---|
99 | <t> |
---|
100 | This document is the first in a series that, collectively, define the |
---|
101 | HyperText Transfer Protocol, version 1.1; otherwise known as HTTP/1.1. |
---|
102 | </t> |
---|
103 | </abstract> |
---|
104 | |
---|
105 | <note title="Editorial Note (To be removed by RFC Editor)"> |
---|
106 | <t> |
---|
107 | Discussion of this draft takes place on the HTTPBIS working group |
---|
108 | mailing list (ietf-http-wg@w3.org), which is archived at |
---|
109 | <eref target="http://lists.w3.org/Archives/Public/ietf-http-wg/"/>. |
---|
110 | </t> |
---|
111 | <t> |
---|
112 | The current issues list is at |
---|
113 | <eref target="http://tools.ietf.org/wg/httpbis/trac/report/3"/> and related |
---|
114 | documents (including fancy diffs) can be found at |
---|
115 | <eref target="http://tools.ietf.org/wg/httpbis/"/>. |
---|
116 | </t> |
---|
117 | <!-- <t> |
---|
118 | The changes in this draft are summarized in <xref target="changes.since.19"/>. |
---|
119 | </t>--> |
---|
120 | </note> |
---|
121 | </front> |
---|
122 | <middle> |
---|
123 | |
---|
124 | <section title="Introduction to the HTTP Document Series"> |
---|
125 | <t> |
---|
126 | This document is the first in a series that, collectively, define |
---|
127 | the HyperText Transfer Protocol, version 1.1; otherwise known as |
---|
128 | HTTP/1.1. |
---|
129 | </t> |
---|
130 | <t>The document series is organized as follows:</t> |
---|
131 | <t><list style="symbols"> |
---|
132 | <t>HTTP/1.1 Introduction - this document</t> |
---|
133 | <t><xref target="Part1"/> HTTP/1.1 Message Routing and Syntax - How to parse a HTTP/1.1 (or below) message, and layer it onto |
---|
134 | connection-oriented protocols. Also includes the HTTP and HTTPS URI |
---|
135 | schemes.</t> |
---|
136 | <t><xref target="Part2"/> HTTP/1.1 Semantics and Payloads - Protocol elements such |
---|
137 | as methods, status codes, and payload-specific header fields. Also includes |
---|
138 | content negotiation mechanisms.</t> |
---|
139 | <t><xref target="Part4"/> HTTP/1.1 Conditional Requests - An extension to |
---|
140 | make requests contingent upon their current state.</t> |
---|
141 | <t><xref target="Part5"/> HTTP/1.1 Range Requests - An extension to |
---|
142 | request that only a portion of a response be sent back.</t> |
---|
143 | <t><xref target="Part6"/> HTTP/1.1 Caching - An extension to allow storage |
---|
144 | and reuse of responses.</t> |
---|
145 | <t><xref target="Part7"/> HTTP/1.1 Authentication Framework - extension |
---|
146 | enabling client authentication to proxy and origin servers</t> |
---|
147 | </list></t> |
---|
148 | |
---|
149 | <t>The "core" of HTTP/1.1 is defined by the first two specifications. The |
---|
150 | remaining specifications in the series are generally not mandatory for |
---|
151 | implementations, but might be required in some implementation or deployment |
---|
152 | scenarios; when this is the case, it will be noted.</t> |
---|
153 | |
---|
154 | <t>Collectively, these documents obsolete <xref target="RFC2616"/>. Note that |
---|
155 | many other specifications extend and refine the use of HTTP (generally, as |
---|
156 | protocol extensions, where allowed by these specifications); they are not |
---|
157 | considered part of this series, but they are still "part of HTTP".</t> |
---|
158 | |
---|
159 | </section> |
---|
160 | |
---|
161 | <section title="What is HTTP?" anchor="wat"> |
---|
162 | <t> |
---|
163 | The Hypertext Transfer Protocol (HTTP) is an application-level |
---|
164 | request/response protocol that uses extensible semantics and MIME-like |
---|
165 | message payloads for flexible interaction with network-based hypertext |
---|
166 | information systems. HTTP relies upon the Uniform Resource Identifier (URI) |
---|
167 | standard <xref target="RFC3986"/> to indicate the target resource |
---|
168 | and relationships between resources. |
---|
169 | </t> |
---|
170 | <t> |
---|
171 | HTTP is a generic interface protocol for information systems. It is |
---|
172 | designed to hide the details of how a service is implemented by presenting |
---|
173 | a uniform interface to clients that is independent of the types of |
---|
174 | resources provided. Likewise, servers do not need to be aware of each |
---|
175 | client's purpose: an HTTP request can be considered in isolation rather |
---|
176 | than being associated with a specific type of client or a predetermined |
---|
177 | sequence of application steps. The result is a protocol that can be used |
---|
178 | effectively in many different contexts and for which implementations can |
---|
179 | evolve independently over time. |
---|
180 | </t> |
---|
181 | <t> |
---|
182 | HTTP is also designed for use as an intermediation protocol for translating |
---|
183 | communication to and from non-HTTP information systems. |
---|
184 | HTTP proxies and gateways can provide access to alternative information |
---|
185 | services by translating their diverse protocols into a hypertext |
---|
186 | format that can be viewed and manipulated by clients in the same way |
---|
187 | as HTTP services. |
---|
188 | </t> |
---|
189 | <t> |
---|
190 | One consequence of HTTP flexibility is that the protocol cannot be |
---|
191 | defined in terms of what occurs behind the interface. Instead, we |
---|
192 | are limited to defining the syntax of communication, the intent |
---|
193 | of received communication, and the expected behavior of recipients. |
---|
194 | If the communication is considered in isolation, then successful |
---|
195 | actions ought to be reflected in corresponding changes to the |
---|
196 | observable interface provided by servers. However, since multiple |
---|
197 | clients might act in parallel and perhaps at cross-purposes, we |
---|
198 | cannot require that such changes be observable beyond the scope |
---|
199 | of a single response. |
---|
200 | </t> |
---|
201 | <t> |
---|
202 | <cref>TODO: remove corresponding text from p1 Introduction.</cref> |
---|
203 | </t> |
---|
204 | </section> |
---|
205 | |
---|
206 | |
---|
207 | |
---|
208 | |
---|
209 | </middle> |
---|
210 | <back> |
---|
211 | <references title="Normative References"> |
---|
212 | |
---|
213 | <reference anchor="Part1"> |
---|
214 | <front> |
---|
215 | <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title> |
---|
216 | <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor"> |
---|
217 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
218 | <address><email>fielding@gbiv.com</email></address> |
---|
219 | </author> |
---|
220 | <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor"> |
---|
221 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
222 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
223 | </author> |
---|
224 | <date month="&ID-MONTH;" year="&ID-YEAR;"/> |
---|
225 | </front> |
---|
226 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p1-messaging-&ID-VERSION;"/> |
---|
227 | <x:source href="p1-messaging.xml" basename="p1-messaging"/> |
---|
228 | </reference> |
---|
229 | |
---|
230 | <reference anchor="Part2"> |
---|
231 | <front> |
---|
232 | <title>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content</title> |
---|
233 | <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor"> |
---|
234 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
235 | <address><email>fielding@gbiv.com</email></address> |
---|
236 | </author> |
---|
237 | <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor"> |
---|
238 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
239 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
240 | </author> |
---|
241 | <date month="&ID-MONTH;" year="&ID-YEAR;"/> |
---|
242 | </front> |
---|
243 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p2-semantics-&ID-VERSION;"/> |
---|
244 | <x:source href="p2-semantics.xml" basename="p2-semantics"/> |
---|
245 | </reference> |
---|
246 | |
---|
247 | <reference anchor="Part4"> |
---|
248 | <front> |
---|
249 | <title>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</title> |
---|
250 | <author fullname="Roy T. Fielding" initials="R." role="editor" surname="Fielding"> |
---|
251 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
252 | <address><email>fielding@gbiv.com</email></address> |
---|
253 | </author> |
---|
254 | <author fullname="Julian F. Reschke" initials="J. F." role="editor" surname="Reschke"> |
---|
255 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
256 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
257 | </author> |
---|
258 | <date month="&ID-MONTH;" year="&ID-YEAR;" /> |
---|
259 | </front> |
---|
260 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p4-conditional-&ID-VERSION;" /> |
---|
261 | <x:source basename="p4-conditional" href="p4-conditional.xml" /> |
---|
262 | </reference> |
---|
263 | |
---|
264 | <reference anchor="Part5"> |
---|
265 | <front> |
---|
266 | <title>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</title> |
---|
267 | <author fullname="Roy T. Fielding" initials="R." role="editor" surname="Fielding"> |
---|
268 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
269 | <address><email>fielding@gbiv.com</email></address> |
---|
270 | </author> |
---|
271 | <author fullname="Yves Lafon" initials="Y." role="editor" surname="Lafon"> |
---|
272 | <organization abbrev="W3C">World Wide Web Consortium</organization> |
---|
273 | <address><email>ylafon@w3.org</email></address> |
---|
274 | </author> |
---|
275 | <author fullname="Julian F. Reschke" initials="J. F." role="editor" surname="Reschke"> |
---|
276 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
277 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
278 | </author> |
---|
279 | <date month="&ID-MONTH;" year="&ID-YEAR;" /> |
---|
280 | </front> |
---|
281 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p5-range-&ID-VERSION;" /> |
---|
282 | <x:source basename="p5-range" href="p5-range.xml" /> |
---|
283 | </reference> |
---|
284 | |
---|
285 | <reference anchor="Part6"> |
---|
286 | <front> |
---|
287 | <title>Hypertext Transfer Protocol (HTTP/1.1): Caching</title> |
---|
288 | <author initials="R." surname="Fielding" fullname="Roy T. Fielding" role="editor"> |
---|
289 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
290 | <address><email>fielding@gbiv.com</email></address> |
---|
291 | </author> |
---|
292 | <author initials="M." surname="Nottingham" fullname="Mark Nottingham" role="editor"> |
---|
293 | <organization>Akamai</organization> |
---|
294 | <address><email>mnot@mnot.net</email></address> |
---|
295 | </author> |
---|
296 | <author initials="J. F." surname="Reschke" fullname="Julian F. Reschke" role="editor"> |
---|
297 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
298 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
299 | </author> |
---|
300 | <date month="&ID-MONTH;" year="&ID-YEAR;"/> |
---|
301 | </front> |
---|
302 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p6-cache-&ID-VERSION;"/> |
---|
303 | <x:source href="p6-cache.xml" basename="p6-cache"/> |
---|
304 | </reference> |
---|
305 | |
---|
306 | <reference anchor="Part7"> |
---|
307 | <front> |
---|
308 | <title>Hypertext Transfer Protocol (HTTP/1.1): Authentication</title> |
---|
309 | <author fullname="Roy T. Fielding" initials="R." role="editor" surname="Fielding"> |
---|
310 | <organization abbrev="Adobe">Adobe Systems Incorporated</organization> |
---|
311 | <address><email>fielding@gbiv.com</email></address> |
---|
312 | </author> |
---|
313 | <author fullname="Julian F. Reschke" initials="J. F." role="editor" surname="Reschke"> |
---|
314 | <organization abbrev="greenbytes">greenbytes GmbH</organization> |
---|
315 | <address><email>julian.reschke@greenbytes.de</email></address> |
---|
316 | </author> |
---|
317 | <date month="&ID-MONTH;" year="&ID-YEAR;" /> |
---|
318 | </front> |
---|
319 | <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-p7-auth-&ID-VERSION;" /> |
---|
320 | <x:source basename="p7-auth" href="p7-auth.xml" /> |
---|
321 | </reference> |
---|
322 | |
---|
323 | <reference anchor="RFC3986"> |
---|
324 | <front> |
---|
325 | <title abbrev='URI Generic Syntax'>Uniform Resource Identifier (URI): Generic Syntax</title> |
---|
326 | <author initials='T.' surname='Berners-Lee' fullname='Tim Berners-Lee'> |
---|
327 | <organization abbrev="W3C/MIT">World Wide Web Consortium</organization> |
---|
328 | <address> |
---|
329 | <email>timbl@w3.org</email> |
---|
330 | <uri>http://www.w3.org/People/Berners-Lee/</uri> |
---|
331 | </address> |
---|
332 | </author> |
---|
333 | <author initials='R.' surname='Fielding' fullname='Roy T. Fielding'> |
---|
334 | <organization abbrev="Day Software">Day Software</organization> |
---|
335 | <address> |
---|
336 | <email>fielding@gbiv.com</email> |
---|
337 | <uri>http://roy.gbiv.com/</uri> |
---|
338 | </address> |
---|
339 | </author> |
---|
340 | <author initials='L.' surname='Masinter' fullname='Larry Masinter'> |
---|
341 | <organization abbrev="Adobe Systems">Adobe Systems Incorporated</organization> |
---|
342 | <address> |
---|
343 | <email>LMM@acm.org</email> |
---|
344 | <uri>http://larry.masinter.net/</uri> |
---|
345 | </address> |
---|
346 | </author> |
---|
347 | <date month='January' year='2005'></date> |
---|
348 | </front> |
---|
349 | <seriesInfo name="STD" value="66"/> |
---|
350 | <seriesInfo name="RFC" value="3986"/> |
---|
351 | </reference> |
---|
352 | |
---|
353 | </references> |
---|
354 | |
---|
355 | <references title="Informative References"> |
---|
356 | |
---|
357 | <reference anchor="RFC2616"> |
---|
358 | <front> |
---|
359 | <title>Hypertext Transfer Protocol -- HTTP/1.1</title> |
---|
360 | <author initials="R." surname="Fielding" fullname="R. Fielding"> |
---|
361 | <organization>University of California, Irvine</organization> |
---|
362 | <address><email>fielding@ics.uci.edu</email></address> |
---|
363 | </author> |
---|
364 | <author initials="J." surname="Gettys" fullname="J. Gettys"> |
---|
365 | <organization>W3C</organization> |
---|
366 | <address><email>jg@w3.org</email></address> |
---|
367 | </author> |
---|
368 | <author initials="J." surname="Mogul" fullname="J. Mogul"> |
---|
369 | <organization>Compaq Computer Corporation</organization> |
---|
370 | <address><email>mogul@wrl.dec.com</email></address> |
---|
371 | </author> |
---|
372 | <author initials="H." surname="Frystyk" fullname="H. Frystyk"> |
---|
373 | <organization>MIT Laboratory for Computer Science</organization> |
---|
374 | <address><email>frystyk@w3.org</email></address> |
---|
375 | </author> |
---|
376 | <author initials="L." surname="Masinter" fullname="L. Masinter"> |
---|
377 | <organization>Xerox Corporation</organization> |
---|
378 | <address><email>masinter@parc.xerox.com</email></address> |
---|
379 | </author> |
---|
380 | <author initials="P." surname="Leach" fullname="P. Leach"> |
---|
381 | <organization>Microsoft Corporation</organization> |
---|
382 | <address><email>paulle@microsoft.com</email></address> |
---|
383 | </author> |
---|
384 | <author initials="T." surname="Berners-Lee" fullname="T. Berners-Lee"> |
---|
385 | <organization>W3C</organization> |
---|
386 | <address><email>timbl@w3.org</email></address> |
---|
387 | </author> |
---|
388 | <date month="June" year="1999"/> |
---|
389 | </front> |
---|
390 | <seriesInfo name="RFC" value="2616"/> |
---|
391 | </reference> |
---|
392 | |
---|
393 | |
---|
394 | </references> |
---|
395 | </back> |
---|
396 | </rfc> |
---|