draft-ietf-httpbis-p2-semantics-14.txt   draft-ietf-httpbis-p2-semantics-15.txt 
HTTPbis Working Group R. Fielding, Ed. HTTPbis Working Group R. Fielding, Ed.
Internet-Draft Adobe Internet-Draft Adobe
Obsoletes: 2616 (if approved) J. Gettys Obsoletes: 2616 (if approved) J. Gettys
Updates: 2817 (if approved) Alcatel-Lucent Updates: 2817 (if approved) Alcatel-Lucent
Intended status: Standards Track J. Mogul Intended status: Standards Track J. Mogul
Expires: October 20, 2011 HP Expires: January 12, 2012 HP
H. Frystyk H. Frystyk
Microsoft Microsoft
L. Masinter L. Masinter
Adobe Adobe
P. Leach P. Leach
Microsoft Microsoft
T. Berners-Lee T. Berners-Lee
W3C/MIT W3C/MIT
Y. Lafon, Ed. Y. Lafon, Ed.
W3C W3C
J. Reschke, Ed. J. Reschke, Ed.
greenbytes greenbytes
April 18, 2011 July 11, 2011
HTTP/1.1, part 2: Message Semantics HTTP/1.1, part 2: Message Semantics
draft-ietf-httpbis-p2-semantics-14 draft-ietf-httpbis-p2-semantics-15
Abstract Abstract
The Hypertext Transfer Protocol (HTTP) is an application-level The Hypertext Transfer Protocol (HTTP) is an application-level
protocol for distributed, collaborative, hypermedia information protocol for distributed, collaborative, hypermedia information
systems. HTTP has been in use by the World Wide Web global systems. HTTP has been in use by the World Wide Web global
information initiative since 1990. This document is Part 2 of the information initiative since 1990. This document is Part 2 of the
seven-part specification that defines the protocol referred to as seven-part specification that defines the protocol referred to as
"HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 2 defines "HTTP/1.1" and, taken together, obsoletes RFC 2616. Part 2 defines
the semantics of HTTP messages as expressed by request methods, the semantics of HTTP messages as expressed by request methods,
skipping to change at page 1, line 49 skipping to change at page 1, line 49
Discussion of this draft should take place on the HTTPBIS working Discussion of this draft should take place on the HTTPBIS working
group mailing list (ietf-http-wg@w3.org), which is archived at group mailing list (ietf-http-wg@w3.org), which is archived at
<http://lists.w3.org/Archives/Public/ietf-http-wg/>. <http://lists.w3.org/Archives/Public/ietf-http-wg/>.
The current issues list is at The current issues list is at
<http://tools.ietf.org/wg/httpbis/trac/report/3> and related <http://tools.ietf.org/wg/httpbis/trac/report/3> and related
documents (including fancy diffs) can be found at documents (including fancy diffs) can be found at
<http://tools.ietf.org/wg/httpbis/>. <http://tools.ietf.org/wg/httpbis/>.
The changes in this draft are summarized in Appendix C.15. The changes in this draft are summarized in Appendix C.16.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 20, 2011. This Internet-Draft will expire on January 12, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 4, line 21 skipping to change at page 4, line 21
8.4.4. 403 Forbidden . . . . . . . . . . . . . . . . . . . . 30 8.4.4. 403 Forbidden . . . . . . . . . . . . . . . . . . . . 30
8.4.5. 404 Not Found . . . . . . . . . . . . . . . . . . . . 31 8.4.5. 404 Not Found . . . . . . . . . . . . . . . . . . . . 31
8.4.6. 405 Method Not Allowed . . . . . . . . . . . . . . . . 31 8.4.6. 405 Method Not Allowed . . . . . . . . . . . . . . . . 31
8.4.7. 406 Not Acceptable . . . . . . . . . . . . . . . . . . 31 8.4.7. 406 Not Acceptable . . . . . . . . . . . . . . . . . . 31
8.4.8. 407 Proxy Authentication Required . . . . . . . . . . 32 8.4.8. 407 Proxy Authentication Required . . . . . . . . . . 32
8.4.9. 408 Request Timeout . . . . . . . . . . . . . . . . . 32 8.4.9. 408 Request Timeout . . . . . . . . . . . . . . . . . 32
8.4.10. 409 Conflict . . . . . . . . . . . . . . . . . . . . . 32 8.4.10. 409 Conflict . . . . . . . . . . . . . . . . . . . . . 32
8.4.11. 410 Gone . . . . . . . . . . . . . . . . . . . . . . . 32 8.4.11. 410 Gone . . . . . . . . . . . . . . . . . . . . . . . 32
8.4.12. 411 Length Required . . . . . . . . . . . . . . . . . 33 8.4.12. 411 Length Required . . . . . . . . . . . . . . . . . 33
8.4.13. 412 Precondition Failed . . . . . . . . . . . . . . . 33 8.4.13. 412 Precondition Failed . . . . . . . . . . . . . . . 33
8.4.14. 413 Request Entity Too Large . . . . . . . . . . . . . 33 8.4.14. 413 Request Representation Too Large . . . . . . . . . 33
8.4.15. 414 URI Too Long . . . . . . . . . . . . . . . . . . . 33 8.4.15. 414 URI Too Long . . . . . . . . . . . . . . . . . . . 33
8.4.16. 415 Unsupported Media Type . . . . . . . . . . . . . . 33 8.4.16. 415 Unsupported Media Type . . . . . . . . . . . . . . 34
8.4.17. 416 Requested Range Not Satisfiable . . . . . . . . . 34 8.4.17. 416 Requested Range Not Satisfiable . . . . . . . . . 34
8.4.18. 417 Expectation Failed . . . . . . . . . . . . . . . . 34 8.4.18. 417 Expectation Failed . . . . . . . . . . . . . . . . 34
8.4.19. 426 Upgrade Required . . . . . . . . . . . . . . . . . 34 8.4.19. 426 Upgrade Required . . . . . . . . . . . . . . . . . 34
8.5. Server Error 5xx . . . . . . . . . . . . . . . . . . . . . 34 8.5. Server Error 5xx . . . . . . . . . . . . . . . . . . . . . 34
8.5.1. 500 Internal Server Error . . . . . . . . . . . . . . 34 8.5.1. 500 Internal Server Error . . . . . . . . . . . . . . 35
8.5.2. 501 Not Implemented . . . . . . . . . . . . . . . . . 35 8.5.2. 501 Not Implemented . . . . . . . . . . . . . . . . . 35
8.5.3. 502 Bad Gateway . . . . . . . . . . . . . . . . . . . 35 8.5.3. 502 Bad Gateway . . . . . . . . . . . . . . . . . . . 35
8.5.4. 503 Service Unavailable . . . . . . . . . . . . . . . 35 8.5.4. 503 Service Unavailable . . . . . . . . . . . . . . . 35
8.5.5. 504 Gateway Timeout . . . . . . . . . . . . . . . . . 35 8.5.5. 504 Gateway Timeout . . . . . . . . . . . . . . . . . 35
8.5.6. 505 HTTP Version Not Supported . . . . . . . . . . . . 35 8.5.6. 505 HTTP Version Not Supported . . . . . . . . . . . . 36
9. Header Field Definitions . . . . . . . . . . . . . . . . . . . 36 9. Header Field Definitions . . . . . . . . . . . . . . . . . . . 36
9.1. Allow . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.1. Allow . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.2. Expect . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9.2. Expect . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.3. From . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 9.3. From . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
9.4. Location . . . . . . . . . . . . . . . . . . . . . . . . . 38 9.4. Location . . . . . . . . . . . . . . . . . . . . . . . . . 38
9.5. Max-Forwards . . . . . . . . . . . . . . . . . . . . . . . 39 9.5. Max-Forwards . . . . . . . . . . . . . . . . . . . . . . . 39
9.6. Referer . . . . . . . . . . . . . . . . . . . . . . . . . 39 9.6. Referer . . . . . . . . . . . . . . . . . . . . . . . . . 39
9.7. Retry-After . . . . . . . . . . . . . . . . . . . . . . . 40 9.7. Retry-After . . . . . . . . . . . . . . . . . . . . . . . 40
9.8. Server . . . . . . . . . . . . . . . . . . . . . . . . . . 40 9.8. Server . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.9. User-Agent . . . . . . . . . . . . . . . . . . . . . . . . 41 9.9. User-Agent . . . . . . . . . . . . . . . . . . . . . . . . 41
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 42
10.1. Method Registry . . . . . . . . . . . . . . . . . . . . . 41 10.1. Method Registry . . . . . . . . . . . . . . . . . . . . . 42
10.2. Status Code Registry . . . . . . . . . . . . . . . . . . . 42 10.2. Status Code Registry . . . . . . . . . . . . . . . . . . . 42
10.3. Header Field Registration . . . . . . . . . . . . . . . . 43 10.3. Header Field Registration . . . . . . . . . . . . . . . . 43
11. Security Considerations . . . . . . . . . . . . . . . . . . . 44 11. Security Considerations . . . . . . . . . . . . . . . . . . . 44
11.1. Transfer of Sensitive Information . . . . . . . . . . . . 44 11.1. Transfer of Sensitive Information . . . . . . . . . . . . 44
11.2. Encoding Sensitive Information in URIs . . . . . . . . . . 45 11.2. Encoding Sensitive Information in URIs . . . . . . . . . . 45
11.3. Location Headers and Spoofing . . . . . . . . . . . . . . 46 11.3. Location Headers and Spoofing . . . . . . . . . . . . . . 46
11.4. Security Considerations for CONNECT . . . . . . . . . . . 46 11.4. Security Considerations for CONNECT . . . . . . . . . . . 46
12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 46 12. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 46
13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 46 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 46
13.1. Normative References . . . . . . . . . . . . . . . . . . . 46 13.1. Normative References . . . . . . . . . . . . . . . . . . . 46
skipping to change at page 5, line 28 skipping to change at page 5, line 28
C.6. Since draft-ietf-httpbis-p2-semantics-04 . . . . . . . . . 53 C.6. Since draft-ietf-httpbis-p2-semantics-04 . . . . . . . . . 53
C.7. Since draft-ietf-httpbis-p2-semantics-05 . . . . . . . . . 54 C.7. Since draft-ietf-httpbis-p2-semantics-05 . . . . . . . . . 54
C.8. Since draft-ietf-httpbis-p2-semantics-06 . . . . . . . . . 54 C.8. Since draft-ietf-httpbis-p2-semantics-06 . . . . . . . . . 54
C.9. Since draft-ietf-httpbis-p2-semantics-07 . . . . . . . . . 54 C.9. Since draft-ietf-httpbis-p2-semantics-07 . . . . . . . . . 54
C.10. Since draft-ietf-httpbis-p2-semantics-08 . . . . . . . . . 55 C.10. Since draft-ietf-httpbis-p2-semantics-08 . . . . . . . . . 55
C.11. Since draft-ietf-httpbis-p2-semantics-09 . . . . . . . . . 55 C.11. Since draft-ietf-httpbis-p2-semantics-09 . . . . . . . . . 55
C.12. Since draft-ietf-httpbis-p2-semantics-10 . . . . . . . . . 55 C.12. Since draft-ietf-httpbis-p2-semantics-10 . . . . . . . . . 55
C.13. Since draft-ietf-httpbis-p2-semantics-11 . . . . . . . . . 56 C.13. Since draft-ietf-httpbis-p2-semantics-11 . . . . . . . . . 56
C.14. Since draft-ietf-httpbis-p2-semantics-12 . . . . . . . . . 56 C.14. Since draft-ietf-httpbis-p2-semantics-12 . . . . . . . . . 56
C.15. Since draft-ietf-httpbis-p2-semantics-13 . . . . . . . . . 58 C.15. Since draft-ietf-httpbis-p2-semantics-13 . . . . . . . . . 58
C.16. Since draft-ietf-httpbis-p2-semantics-14 . . . . . . . . . 58
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
1. Introduction 1. Introduction
This document defines HTTP/1.1 request and response semantics. Each This document defines HTTP/1.1 request and response semantics. Each
HTTP message, as defined in [Part1], is in the form of either a HTTP message, as defined in [Part1], is in the form of either a
request or a response. An HTTP server listens on a connection for request or a response. An HTTP server listens on a connection for
HTTP requests and responds to each request, in the order received on HTTP requests and responds to each request, in the order received on
that connection, with one or more HTTP response messages. This that connection, with one or more HTTP response messages. This
document defines the commonly agreed upon semantics of the HTTP document defines the commonly agreed upon semantics of the HTTP
skipping to change at page 7, line 21 skipping to change at page 7, line 21
quoted-string = <quoted-string, defined in [Part1], Section 1.2.2> quoted-string = <quoted-string, defined in [Part1], Section 1.2.2>
token = <token, defined in [Part1], Section 1.2.2> token = <token, defined in [Part1], Section 1.2.2>
OWS = <OWS, defined in [Part1], Section 1.2.2> OWS = <OWS, defined in [Part1], Section 1.2.2>
RWS = <RWS, defined in [Part1], Section 1.2.2> RWS = <RWS, defined in [Part1], Section 1.2.2>
obs-text = <obs-text, defined in [Part1], Section 1.2.2> obs-text = <obs-text, defined in [Part1], Section 1.2.2>
1.2.2. ABNF Rules defined in other Parts of the Specification 1.2.2. ABNF Rules defined in other Parts of the Specification
The ABNF rules below are defined in other parts: The ABNF rules below are defined in other parts:
absolute-URI = <absolute-URI, defined in [Part1], Section 2.6> absolute-URI = <absolute-URI, defined in [Part1], Section 2.7>
comment = <comment, defined in [Part1], Section 3.2> comment = <comment, defined in [Part1], Section 3.2>
HTTP-date = <HTTP-date, defined in [Part1], Section 6.1> HTTP-date = <HTTP-date, defined in [Part1], Section 6.1>
partial-URI = <partial-URI, defined in [Part1], Section 2.6> partial-URI = <partial-URI, defined in [Part1], Section 2.7>
product = <product, defined in [Part1], Section 6.3> product = <product, defined in [Part1], Section 6.3>
URI-reference = <URI-reference, defined in [Part1], Section 2.6> URI-reference = <URI-reference, defined in [Part1], Section 2.7>
2. Method 2. Method
The Method token indicates the request method to be performed on the The Method token indicates the request method to be performed on the
target resource (Section 4.3 of [Part1]). The method is case- target resource (Section 4.3 of [Part1]). The method is case-
sensitive. sensitive.
Method = token Method = token
The list of methods allowed by a resource can be specified in an The list of methods allowed by a resource can be specified in an
skipping to change at page 11, line 43 skipping to change at page 11, line 43
| 405 | Method Not Allowed | Section 8.4.6 | | 405 | Method Not Allowed | Section 8.4.6 |
| 406 | Not Acceptable | Section 8.4.7 | | 406 | Not Acceptable | Section 8.4.7 |
| 407 | Proxy Authentication | Section 3.2 of | | 407 | Proxy Authentication | Section 3.2 of |
| | Required | [Part7] | | | Required | [Part7] |
| 408 | Request Time-out | Section 8.4.9 | | 408 | Request Time-out | Section 8.4.9 |
| 409 | Conflict | Section 8.4.10 | | 409 | Conflict | Section 8.4.10 |
| 410 | Gone | Section 8.4.11 | | 410 | Gone | Section 8.4.11 |
| 411 | Length Required | Section 8.4.12 | | 411 | Length Required | Section 8.4.12 |
| 412 | Precondition Failed | Section 4.2 of | | 412 | Precondition Failed | Section 4.2 of |
| | | [Part4] | | | | [Part4] |
| 413 | Request Entity Too Large | Section 8.4.14 | | 413 | Request Representation Too | Section 8.4.14 |
| | Large | |
| 414 | URI Too Long | Section 8.4.15 | | 414 | URI Too Long | Section 8.4.15 |
| 415 | Unsupported Media Type | Section 8.4.16 | | 415 | Unsupported Media Type | Section 8.4.16 |
| 416 | Requested range not | Section 3.2 of | | 416 | Requested range not | Section 3.2 of |
| | satisfiable | [Part5] | | | satisfiable | [Part5] |
| 417 | Expectation Failed | Section 8.4.18 | | 417 | Expectation Failed | Section 8.4.18 |
| 426 | Upgrade Required | Section 8.4.19 | | 426 | Upgrade Required | Section 8.4.19 |
| 500 | Internal Server Error | Section 8.5.1 | | 500 | Internal Server Error | Section 8.5.1 |
| 501 | Not Implemented | Section 8.5.2 | | 501 | Not Implemented | Section 8.5.2 |
| 502 | Bad Gateway | Section 8.5.3 | | 502 | Bad Gateway | Section 8.5.3 |
| 503 | Service Unavailable | Section 8.5.4 | | 503 | Service Unavailable | Section 8.5.4 |
skipping to change at page 25, line 26 skipping to change at page 25, line 28
allow a server to accept a request for some other process (perhaps a allow a server to accept a request for some other process (perhaps a
batch-oriented process that is only run once per day) without batch-oriented process that is only run once per day) without
requiring that the user agent's connection to the server persist requiring that the user agent's connection to the server persist
until the process is completed. The representation returned with until the process is completed. The representation returned with
this response SHOULD include an indication of the request's current this response SHOULD include an indication of the request's current
status and either a pointer to a status monitor or some estimate of status and either a pointer to a status monitor or some estimate of
when the user can expect the request to be fulfilled. when the user can expect the request to be fulfilled.
8.2.4. 203 Non-Authoritative Information 8.2.4. 203 Non-Authoritative Information
The returned metadata in the header fields is not the definitive set The representation in the response has been transformed or otherwise
as available from the origin server, but is gathered from a local or modified by a transforming proxy (Section 2.4 of [Part1]). Note that
a third-party copy. The set presented MAY be a subset or superset of the behaviour of transforming intermediaries is controlled by the no-
the original version. For example, including local annotation transform Cache-Control directive (Section 3.2 of [Part6]).
information about the resource might result in a superset of the
metadata known by the origin server. Use of this response code is This status code is only appropriate when the response status code
not required and is only appropriate when the response would would have been 200 (OK) otherwise. When the status code before
otherwise be 200 (OK). transformation would have been different, the 214 Transformation
Applied warn-code (Section 3.6 of [Part6]) is appropriate.
Caches MAY use a heuristic (see Section 2.3.1.1 of [Part6]) to Caches MAY use a heuristic (see Section 2.3.1.1 of [Part6]) to
determine freshness for 203 responses. determine freshness for 203 responses.
8.2.5. 204 No Content 8.2.5. 204 No Content
The 204 (No Content) status code indicates that the server has The 204 (No Content) status code indicates that the server has
successfully fulfilled the request and that there is no additional successfully fulfilled the request and that there is no additional
content to return in the response payload body. Metadata in the content to return in the response payload body. Metadata in the
response header fields refer to the target resource and its current response header fields refer to the target resource and its current
skipping to change at page 26, line 9 skipping to change at page 26, line 11
request and the response contains an ETag header field, then the PUT request and the response contains an ETag header field, then the PUT
was successful and the ETag field-value contains the entity-tag for was successful and the ETag field-value contains the entity-tag for
the new representation of that target resource. the new representation of that target resource.
The 204 response allows a server to indicate that the action has been The 204 response allows a server to indicate that the action has been
successfully applied to the target resource while implying that the successfully applied to the target resource while implying that the
user agent SHOULD NOT traverse away from its current "document view" user agent SHOULD NOT traverse away from its current "document view"
(if any). The server assumes that the user agent will provide some (if any). The server assumes that the user agent will provide some
indication of the success to its user, in accord with its own indication of the success to its user, in accord with its own
interface, and apply any new or updated metadata in the response to interface, and apply any new or updated metadata in the response to
the active representation. For example, a 204 status code is the active representation.
commonly used with document editing interfaces corresponding to a
"save" action, such that the document being saved remains available For example, a 204 status code is commonly used with document editing
to the user for editing. It is also frequently used with interfaces interfaces corresponding to a "save" action, such that the document
that expect automated data transfers to be prevalent, such as within being saved remains available to the user for editing. It is also
distributed version control systems. frequently used with interfaces that expect automated data transfers
to be prevalent, such as within distributed version control systems.
The 204 response MUST NOT include a message-body, and thus is always The 204 response MUST NOT include a message-body, and thus is always
terminated by the first empty line after the header fields. terminated by the first empty line after the header fields.
8.2.6. 205 Reset Content 8.2.6. 205 Reset Content
The server has fulfilled the request and the user agent SHOULD reset The server has fulfilled the request and the user agent SHOULD reset
the document view which caused the request to be sent. This response the document view which caused the request to be sent. This response
is primarily intended to allow input for actions to take place via is primarily intended to allow input for actions to take place via
user input, followed by a clearing of the form in which the input is user input, followed by a clearing of the form in which the input is
skipping to change at page 30, line 50 skipping to change at page 30, line 50
The request requires user authentication (see Section 3.1 of The request requires user authentication (see Section 3.1 of
[Part7]). [Part7]).
8.4.3. 402 Payment Required 8.4.3. 402 Payment Required
This code is reserved for future use. This code is reserved for future use.
8.4.4. 403 Forbidden 8.4.4. 403 Forbidden
The server understood the request, but is refusing to fulfill it. The server understood the request, but refuses to authorize it.
Authorization will not help and the request SHOULD NOT be repeated. Providing different user authentication credentials might be
successful, but any credentials that were provided in the request are
insufficient. The request SHOULD NOT be repeated with the same
credentials.
If the request method was not HEAD and the server wishes to make If the request method was not HEAD and the server wishes to make
public why the request has not been fulfilled, it SHOULD describe the public why the request has not been fulfilled, it SHOULD describe the
reason for the refusal in the representation. If the server does not reason for the refusal in the representation. If the server does not
wish to make this information available to the client, the status wish to make this information available to the client, the status
code 404 (Not Found) can be used instead. code 404 (Not Found) MAY be used instead.
8.4.5. 404 Not Found 8.4.5. 404 Not Found
The server has not found anything matching the effective request URI. The server has not found anything matching the effective request URI.
No indication is given of whether the condition is temporary or No indication is given of whether the condition is temporary or
permanent. The 410 (Gone) status code SHOULD be used if the server permanent. The 410 (Gone) status code SHOULD be used if the server
knows, through some internally configurable mechanism, that an old knows, through some internally configurable mechanism, that an old
resource is permanently unavailable and has no forwarding address. resource is permanently unavailable and has no forwarding address.
This status code is commonly used when the server does not wish to This status code is commonly used when the server does not wish to
reveal exactly why the request has been refused, or when no other reveal exactly why the request has been refused, or when no other
skipping to change at page 33, line 24 skipping to change at page 33, line 28
Length. The client MAY repeat the request if it adds a valid Length. The client MAY repeat the request if it adds a valid
Content-Length header field containing the length of the message-body Content-Length header field containing the length of the message-body
in the request message. in the request message.
8.4.13. 412 Precondition Failed 8.4.13. 412 Precondition Failed
The precondition given in one or more of the header fields evaluated The precondition given in one or more of the header fields evaluated
to false when it was tested on the server, as defined in Section 4.2 to false when it was tested on the server, as defined in Section 4.2
of [Part4]. of [Part4].
8.4.14. 413 Request Entity Too Large 8.4.14. 413 Request Representation Too Large
The server is refusing to process a request because the request The server is refusing to process a request because the request
representation is larger than the server is willing or able to representation is larger than the server is willing or able to
process. The server MAY close the connection to prevent the client process. The server MAY close the connection to prevent the client
from continuing the request. from continuing the request.
If the condition is temporary, the server SHOULD include a Retry- If the condition is temporary, the server SHOULD include a Retry-
After header field to indicate that it is temporary and after what After header field to indicate that it is temporary and after what
time the client MAY try again. time the client MAY try again.
skipping to change at page 35, line 20 skipping to change at page 35, line 25
any resource. any resource.
8.5.3. 502 Bad Gateway 8.5.3. 502 Bad Gateway
The server, while acting as a gateway or proxy, received an invalid The server, while acting as a gateway or proxy, received an invalid
response from the upstream server it accessed in attempting to response from the upstream server it accessed in attempting to
fulfill the request. fulfill the request.
8.5.4. 503 Service Unavailable 8.5.4. 503 Service Unavailable
The server is currently unable to handle the request due to a The server is currently unable or unwilling to handle the request due
temporary overloading or maintenance of the server. The implication to reasons such as temporary overloading, maintenance of the server,
is that this is a temporary condition which will be alleviated after or rate limiting of the client.
some delay. If known, the length of the delay MAY be indicated in a
Retry-After header field. If no Retry-After is given, the client The implication is that this is a temporary condition which will be
SHOULD handle the response as it would for a 500 response. alleviated after some delay. If known, the length of the delay MAY
be indicated in a Retry-After header field (Section 9.7). If no
Retry-After is given, the client SHOULD handle the response as it
would for a 500 response.
Note: The existence of the 503 status code does not imply that a Note: The existence of the 503 status code does not imply that a
server must use it when becoming overloaded. Some servers might server must use it when becoming overloaded. Some servers might
wish to simply refuse the connection. wish to simply refuse the connection.
8.5.5. 504 Gateway Timeout 8.5.5. 504 Gateway Timeout
The server, while acting as a gateway or proxy, did not receive a The server, while acting as a gateway or proxy, did not receive a
timely response from the upstream server specified by the URI (e.g., timely response from the upstream server specified by the URI (e.g.,
HTTP, FTP, LDAP) or some other auxiliary server (e.g., DNS) it needed HTTP, FTP, LDAP) or some other auxiliary server (e.g., DNS) it needed
skipping to change at page 35, line 47 skipping to change at page 36, line 11
Note to implementors: some deployed proxies are known to return Note to implementors: some deployed proxies are known to return
400 or 500 when DNS lookups time out. 400 or 500 when DNS lookups time out.
8.5.6. 505 HTTP Version Not Supported 8.5.6. 505 HTTP Version Not Supported
The server does not support, or refuses to support, the protocol The server does not support, or refuses to support, the protocol
version that was used in the request message. The server is version that was used in the request message. The server is
indicating that it is unable or unwilling to complete the request indicating that it is unable or unwilling to complete the request
using the same major version as the client, as described in Section using the same major version as the client, as described in Section
2.5 of [Part1], other than with this error message. The response 2.6 of [Part1], other than with this error message. The response
SHOULD contain a representation describing why that version is not SHOULD contain a representation describing why that version is not
supported and what other protocols are supported by that server. supported and what other protocols are supported by that server.
9. Header Field Definitions 9. Header Field Definitions
This section defines the syntax and semantics of HTTP/1.1 header This section defines the syntax and semantics of HTTP/1.1 header
fields related to request and response semantics. fields related to request and response semantics.
9.1. Allow 9.1. Allow
skipping to change at page 38, line 32 skipping to change at page 38, line 43
Location = URI-reference Location = URI-reference
Examples are: Examples are:
Location: http://www.example.org/pub/WWW/People.html#tim Location: http://www.example.org/pub/WWW/People.html#tim
Location: /index.html Location: /index.html
There are circumstances in which a fragment identifier in a Location There are circumstances in which a fragment identifier in a Location
URI would not be appropriate: URI would not be appropriate. For instance, when it appears in a 201
Created response, where the Location header field specifies the URI
o With a 201 Created response, because in this usage the Location for the entire created resource.
header field specifies the URI for the entire created resource.
o With 305 Use Proxy.
Note: This specification does not define precedence rules for the Note: This specification does not define precedence rules for the
case where the original URI, as navigated to by the user agent, case where the original URI, as navigated to by the user agent,
and the Location header field value both contain fragment and the Location header field value both contain fragment
identifiers. Thus be aware that including fragment identifiers identifiers. Thus be aware that including fragment identifiers
might inconvenience anyone relying on the semantics of the might inconvenience anyone relying on the semantics of the
original URI's fragment identifier. original URI's fragment identifier.
Note: The Content-Location header field (Section 6.7 of [Part3]) Note: The Content-Location header field (Section 6.7 of [Part3])
differs from Location in that the Content-Location identifies the differs from Location in that the Content-Location identifies the
skipping to change at page 43, line 5 skipping to change at page 43, line 5
10.2. Status Code Registry 10.2. Status Code Registry
The registration procedure for HTTP Status Codes -- previously The registration procedure for HTTP Status Codes -- previously
defined in Section 7.1 of [RFC2817] -- is now defined by Section 4.2 defined in Section 7.1 of [RFC2817] -- is now defined by Section 4.2
of this document. of this document.
The HTTP Status Code Registry located at The HTTP Status Code Registry located at
<http://www.iana.org/assignments/http-status-codes> shall be updated <http://www.iana.org/assignments/http-status-codes> shall be updated
with the registrations below: with the registrations below:
+-------+-------------------------------+----------------+ +-------+----------------------------------+----------------+
| Value | Description | Reference | | Value | Description | Reference |
+-------+-------------------------------+----------------+ +-------+----------------------------------+----------------+
| 100 | Continue | Section 8.1.1 | | 100 | Continue | Section 8.1.1 |
| 101 | Switching Protocols | Section 8.1.2 | | 101 | Switching Protocols | Section 8.1.2 |
| 200 | OK | Section 8.2.1 | | 200 | OK | Section 8.2.1 |
| 201 | Created | Section 8.2.2 | | 201 | Created | Section 8.2.2 |
| 202 | Accepted | Section 8.2.3 | | 202 | Accepted | Section 8.2.3 |
| 203 | Non-Authoritative Information | Section 8.2.4 | | 203 | Non-Authoritative Information | Section 8.2.4 |
| 204 | No Content | Section 8.2.5 | | 204 | No Content | Section 8.2.5 |
| 205 | Reset Content | Section 8.2.6 | | 205 | Reset Content | Section 8.2.6 |
| 300 | Multiple Choices | Section 8.3.1 | | 300 | Multiple Choices | Section 8.3.1 |
| 301 | Moved Permanently | Section 8.3.2 | | 301 | Moved Permanently | Section 8.3.2 |
| 302 | Found | Section 8.3.3 | | 302 | Found | Section 8.3.3 |
| 303 | See Other | Section 8.3.4 | | 303 | See Other | Section 8.3.4 |
| 305 | Use Proxy | Section 8.3.6 | | 305 | Use Proxy | Section 8.3.6 |
| 306 | (Unused) | Section 8.3.7 | | 306 | (Unused) | Section 8.3.7 |
| 307 | Temporary Redirect | Section 8.3.8 | | 307 | Temporary Redirect | Section 8.3.8 |
| 400 | Bad Request | Section 8.4.1 | | 400 | Bad Request | Section 8.4.1 |
| 402 | Payment Required | Section 8.4.3 | | 402 | Payment Required | Section 8.4.3 |
| 403 | Forbidden | Section 8.4.4 | | 403 | Forbidden | Section 8.4.4 |
| 404 | Not Found | Section 8.4.5 | | 404 | Not Found | Section 8.4.5 |
| 405 | Method Not Allowed | Section 8.4.6 | | 405 | Method Not Allowed | Section 8.4.6 |
| 406 | Not Acceptable | Section 8.4.7 | | 406 | Not Acceptable | Section 8.4.7 |
| 407 | Proxy Authentication Required | Section 8.4.8 | | 407 | Proxy Authentication Required | Section 8.4.8 |
| 408 | Request Timeout | Section 8.4.9 | | 408 | Request Timeout | Section 8.4.9 |
| 409 | Conflict | Section 8.4.10 | | 409 | Conflict | Section 8.4.10 |
| 410 | Gone | Section 8.4.11 | | 410 | Gone | Section 8.4.11 |
| 411 | Length Required | Section 8.4.12 | | 411 | Length Required | Section 8.4.12 |
| 413 | Request Entity Too Large | Section 8.4.14 | | 413 | Request Representation Too Large | Section 8.4.14 |
| 414 | URI Too Long | Section 8.4.15 | | 414 | URI Too Long | Section 8.4.15 |
| 415 | Unsupported Media Type | Section 8.4.16 | | 415 | Unsupported Media Type | Section 8.4.16 |
| 417 | Expectation Failed | Section 8.4.18 | | 417 | Expectation Failed | Section 8.4.18 |
| 426 | Upgrade Required | Section 8.4.19 | | 426 | Upgrade Required | Section 8.4.19 |
| 500 | Internal Server Error | Section 8.5.1 | | 500 | Internal Server Error | Section 8.5.1 |
| 501 | Not Implemented | Section 8.5.2 | | 501 | Not Implemented | Section 8.5.2 |
| 502 | Bad Gateway | Section 8.5.3 | | 502 | Bad Gateway | Section 8.5.3 |
| 503 | Service Unavailable | Section 8.5.4 | | 503 | Service Unavailable | Section 8.5.4 |
| 504 | Gateway Timeout | Section 8.5.5 | | 504 | Gateway Timeout | Section 8.5.5 |
| 505 | HTTP Version Not Supported | Section 8.5.6 | | 505 | HTTP Version Not Supported | Section 8.5.6 |
+-------+-------------------------------+----------------+ +-------+----------------------------------+----------------+
10.3. Header Field Registration 10.3. Header Field Registration
The Message Header Field Registry located at <http://www.iana.org/ The Message Header Field Registry located at <http://www.iana.org/
assignments/message-headers/message-header-index.html> shall be assignments/message-headers/message-header-index.html> shall be
updated with the permanent registrations below (see [RFC3864]): updated with the permanent registrations below (see [RFC3864]):
+-------------------+----------+----------+-------------+ +-------------------+----------+----------+-------------+
| Header Field Name | Protocol | Status | Reference | | Header Field Name | Protocol | Status | Reference |
+-------------------+----------+----------+-------------+ +-------------------+----------+----------+-------------+
skipping to change at page 46, line 34 skipping to change at page 46, line 34
12. Acknowledgments 12. Acknowledgments
13. References 13. References
13.1. Normative References 13.1. Normative References
[Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part1] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections, and J. Reschke, Ed., "HTTP/1.1, part 1: URIs, Connections,
and Message Parsing", draft-ietf-httpbis-p1-messaging-14 and Message Parsing", draft-ietf-httpbis-p1-messaging-15
(work in progress), April 2011. (work in progress), July 2011.
[Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part3] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload and J. Reschke, Ed., "HTTP/1.1, part 3: Message Payload
and Content Negotiation", draft-ietf-httpbis-p3-payload-14 and Content Negotiation", draft-ietf-httpbis-p3-payload-15
(work in progress), April 2011. (work in progress), July 2011.
[Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part4] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional and J. Reschke, Ed., "HTTP/1.1, part 4: Conditional
Requests", draft-ietf-httpbis-p4-conditional-14 (work in Requests", draft-ietf-httpbis-p4-conditional-15 (work in
progress), April 2011. progress), July 2011.
[Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part5] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and and J. Reschke, Ed., "HTTP/1.1, part 5: Range Requests and
Partial Responses", draft-ietf-httpbis-p5-range-14 (work Partial Responses", draft-ietf-httpbis-p5-range-15 (work
in progress), April 2011. in progress), July 2011.
[Part6] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part6] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part Nottingham, M., Ed., and J. Reschke, Ed., "HTTP/1.1, part
6: Caching", draft-ietf-httpbis-p6-cache-14 (work in 6: Caching", draft-ietf-httpbis-p6-cache-15 (work in
progress), April 2011. progress), July 2011.
[Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H., [Part7] Fielding, R., Ed., Gettys, J., Mogul, J., Frystyk, H.,
Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed., Masinter, L., Leach, P., Berners-Lee, T., Lafon, Y., Ed.,
and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication", and J. Reschke, Ed., "HTTP/1.1, part 7: Authentication",
draft-ietf-httpbis-p7-auth-14 (work in progress), draft-ietf-httpbis-p7-auth-15 (work in progress),
April 2011. July 2011.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
Resource Identifier (URI): Generic Syntax", STD 66, Resource Identifier (URI): Generic Syntax", STD 66,
RFC 3986, January 2005. RFC 3986, January 2005.
[RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax [RFC5234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008. Specifications: ABNF", STD 68, RFC 5234, January 2008.
skipping to change at page 48, line 23 skipping to change at page 48, line 23
This document takes over the Status Code Registry, previously defined This document takes over the Status Code Registry, previously defined
in Section 7.1 of [RFC2817]. (Section 4.2) in Section 7.1 of [RFC2817]. (Section 4.2)
Clarify definition of POST. (Section 7.5) Clarify definition of POST. (Section 7.5)
Remove requirement to handle all Content-* header fields; ban use of Remove requirement to handle all Content-* header fields; ban use of
Content-Range with PUT. (Section 7.6) Content-Range with PUT. (Section 7.6)
Take over definition of CONNECT method from [RFC2817]. (Section 7.9) Take over definition of CONNECT method from [RFC2817]. (Section 7.9)
Broadened the definition of 203 (Non-Authoritative Information) to
include cases of payload transformations as well. (Section 8.2.4)
Failed to consider that there are many other request methods that are Failed to consider that there are many other request methods that are
safe to automatically redirect, and further that the user agent is safe to automatically redirect, and further that the user agent is
able to make that determination based on the request method able to make that determination based on the request method
semantics. (Sections 8.3.2, 8.3.3 and 8.3.8) semantics. (Sections 8.3.2, 8.3.3 and 8.3.8)
Deprecate 305 Use Proxy status code, because user agents did not Deprecate 305 Use Proxy status code, because user agents did not
implement it. It used to indicate that the target resource must be implement it. It used to indicate that the target resource must be
accessed through the proxy given by the Location field. The Location accessed through the proxy given by the Location field. The Location
field gave the URI of the proxy. The recipient was expected to field gave the URI of the proxy. The recipient was expected to
repeat this single request via the proxy. (Section 8.3.6) repeat this single request via the proxy. (Section 8.3.6)
skipping to change at page 50, line 27 skipping to change at page 50, line 27
OWS = <OWS, defined in [Part1], Section 1.2.2> OWS = <OWS, defined in [Part1], Section 1.2.2>
RWS = <RWS, defined in [Part1], Section 1.2.2> RWS = <RWS, defined in [Part1], Section 1.2.2>
Reason-Phrase = *( WSP / VCHAR / obs-text ) Reason-Phrase = *( WSP / VCHAR / obs-text )
Referer = absolute-URI / partial-URI Referer = absolute-URI / partial-URI
Retry-After = HTTP-date / delta-seconds Retry-After = HTTP-date / delta-seconds
Server = product *( RWS ( product / comment ) ) Server = product *( RWS ( product / comment ) )
Status-Code = 3DIGIT Status-Code = 3DIGIT
URI-reference = <URI-reference, defined in [Part1], Section 2.6> URI-reference = <URI-reference, defined in [Part1], Section 2.7>
User-Agent = product *( RWS ( product / comment ) ) User-Agent = product *( RWS ( product / comment ) )
absolute-URI = <absolute-URI, defined in [Part1], Section 2.6> absolute-URI = <absolute-URI, defined in [Part1], Section 2.7>
comment = <comment, defined in [Part1], Section 3.2> comment = <comment, defined in [Part1], Section 3.2>
delta-seconds = 1*DIGIT delta-seconds = 1*DIGIT
expect-params = ";" token [ "=" ( token / quoted-string ) ] expect-params = ";" token [ "=" ( token / quoted-string ) ]
expectation = "100-continue" / expectation-extension expectation = "100-continue" / expectation-extension
expectation-extension = token [ "=" ( token / quoted-string ) expectation-extension = token [ "=" ( token / quoted-string )
*expect-params ] *expect-params ]
mailbox = <mailbox, defined in [RFC5322], Section 3.4> mailbox = <mailbox, defined in [RFC5322], Section 3.4>
obs-text = <obs-text, defined in [Part1], Section 1.2.2> obs-text = <obs-text, defined in [Part1], Section 1.2.2>
partial-URI = <partial-URI, defined in [Part1], Section 2.6> partial-URI = <partial-URI, defined in [Part1], Section 2.7>
product = <product, defined in [Part1], Section 6.3> product = <product, defined in [Part1], Section 6.3>
quoted-string = <quoted-string, defined in [Part1], Section 1.2.2> quoted-string = <quoted-string, defined in [Part1], Section 1.2.2>
token = <token, defined in [Part1], Section 1.2.2> token = <token, defined in [Part1], Section 1.2.2>
ABNF diagnostics: ABNF diagnostics:
; Allow defined but not used ; Allow defined but not used
; Expect defined but not used ; Expect defined but not used
; From defined but not used ; From defined but not used
skipping to change at page 58, line 15 skipping to change at page 58, line 15
C.15. Since draft-ietf-httpbis-p2-semantics-13 C.15. Since draft-ietf-httpbis-p2-semantics-13
Closed issues: Closed issues:
o <http://tools.ietf.org/wg/httpbis/trac/ticket/276>: "untangle o <http://tools.ietf.org/wg/httpbis/trac/ticket/276>: "untangle
ABNFs for header fields" ABNFs for header fields"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/251>: "message-body o <http://tools.ietf.org/wg/httpbis/trac/ticket/251>: "message-body
in CONNECT request" in CONNECT request"
C.16. Since draft-ietf-httpbis-p2-semantics-14
Closed issues:
o <http://tools.ietf.org/wg/httpbis/trac/ticket/255>: "Clarify
status code for rate limiting"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/294>: "clarify 403
forbidden"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/296>: "Clarify 203
Non-Authoritative Information"
o <http://tools.ietf.org/wg/httpbis/trac/ticket/298>: "update
default reason phrase for 413"
Index Index
1 1
100 Continue (status code) 23 100 Continue (status code) 23
101 Switching Protocols (status code) 23 101 Switching Protocols (status code) 23
2 2
200 OK (status code) 24 200 OK (status code) 24
201 Created (status code) 24 201 Created (status code) 24
202 Accepted (status code) 25 202 Accepted (status code) 25
skipping to change at page 59, line 5 skipping to change at page 59, line 21
403 Forbidden (status code) 30 403 Forbidden (status code) 30
404 Not Found (status code) 31 404 Not Found (status code) 31
405 Method Not Allowed (status code) 31 405 Method Not Allowed (status code) 31
406 Not Acceptable (status code) 31 406 Not Acceptable (status code) 31
407 Proxy Authentication Required (status code) 32 407 Proxy Authentication Required (status code) 32
408 Request Timeout (status code) 32 408 Request Timeout (status code) 32
409 Conflict (status code) 32 409 Conflict (status code) 32
410 Gone (status code) 32 410 Gone (status code) 32
411 Length Required (status code) 33 411 Length Required (status code) 33
412 Precondition Failed (status code) 33 412 Precondition Failed (status code) 33
413 Request Entity Too Large (status code) 33 413 Request Representation Too Large (status code) 33
414 URI Too Long (status code) 33 414 URI Too Long (status code) 33
415 Unsupported Media Type (status code) 33 415 Unsupported Media Type (status code) 34
416 Requested Range Not Satisfiable (status code) 34 416 Requested Range Not Satisfiable (status code) 34
417 Expectation Failed (status code) 34 417 Expectation Failed (status code) 34
426 Upgrade Required (status code) 34 426 Upgrade Required (status code) 34
5 5
500 Internal Server Error (status code) 34 500 Internal Server Error (status code) 35
501 Not Implemented (status code) 35 501 Not Implemented (status code) 35
502 Bad Gateway (status code) 35 502 Bad Gateway (status code) 35
503 Service Unavailable (status code) 35 503 Service Unavailable (status code) 35
504 Gateway Timeout (status code) 35 504 Gateway Timeout (status code) 35
505 HTTP Version Not Supported (status code) 35 505 HTTP Version Not Supported (status code) 36
A A
Allow header field 36 Allow header field 36
C C
CONNECT method 21 CONNECT method 21
D D
DELETE method 20 DELETE method 20
skipping to change at page 59, line 50 skipping to change at page 60, line 18
Expect 36 Expect 36
expect-params 36 expect-params 36
expectation 36 expectation 36
expectation-extension 36 expectation-extension 36
extension-code 10 extension-code 10
From 37 From 37
Location 38 Location 38
Max-Forwards 39 Max-Forwards 39
Method 7 Method 7
Reason-Phrase 10 Reason-Phrase 10
Referer 39 Referer 40
Retry-After 40 Retry-After 40
Server 40 Server 40
Status-Code 10 Status-Code 10
User-Agent 41 User-Agent 41
H H
HEAD method 17 HEAD method 17
Header Fields Header Fields
Allow 36 Allow 36
Expect 36 Expect 36
skipping to change at page 61, line 36 skipping to change at page 62, line 4
403 Forbidden 30 403 Forbidden 30
404 Not Found 31 404 Not Found 31
405 Method Not Allowed 31 405 Method Not Allowed 31
406 Not Acceptable 31 406 Not Acceptable 31
407 Proxy Authentication Required 32 407 Proxy Authentication Required 32
408 Request Timeout 32 408 Request Timeout 32
409 Conflict 32 409 Conflict 32
410 Gone 32 410 Gone 32
411 Length Required 33 411 Length Required 33
412 Precondition Failed 33 412 Precondition Failed 33
413 Request Entity Too Large 33 413 Request Representation Too Large 33
414 URI Too Long 33 414 URI Too Long 33
415 Unsupported Media Type 33 415 Unsupported Media Type 34
416 Requested Range Not Satisfiable 34 416 Requested Range Not Satisfiable 34
417 Expectation Failed 34 417 Expectation Failed 34
426 Upgrade Required 34 426 Upgrade Required 34
500 Internal Server Error 34 500 Internal Server Error 35
501 Not Implemented 35 501 Not Implemented 35
502 Bad Gateway 35 502 Bad Gateway 35
503 Service Unavailable 35 503 Service Unavailable 35
504 Gateway Timeout 35 504 Gateway Timeout 35
505 HTTP Version Not Supported 35 505 HTTP Version Not Supported 36
T T
TRACE method 21 TRACE method 21
U U
User-Agent header field 41 User-Agent header field 41
Authors' Addresses Authors' Addresses
Roy T. Fielding (editor) Roy T. Fielding (editor)
 End of changes. 44 change blocks. 
111 lines changed or deleted 137 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/