| draft-ietf-httpbis-p2-semantics-01.txt | draft-ietf-httpbis-p2-semantics-02.txt | |||
|---|---|---|---|---|
| Network Working Group R. Fielding, Ed. | Network Working Group R. Fielding, Ed. | |||
| Internet-Draft Day Software | Internet-Draft Day Software | |||
| Obsoletes: 2616 (if approved) J. Gettys | Obsoletes: 2616 (if approved) J. Gettys | |||
| Intended status: Standards Track One Laptop per Child | Intended status: Standards Track One Laptop per Child | |||
| Expires: July 15, 2008 J. Mogul | Expires: August 27, 2008 J. Mogul | |||
| HP | HP | |||
| H. Frystyk | H. Frystyk | |||
| Microsoft | Microsoft | |||
| L. Masinter | L. Masinter | |||
| Adobe Systems | Adobe Systems | |||
| 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 | |||
| January 12, 2008 | February 24, 2008 | |||
| HTTP/1.1, part 2: Message Semantics | HTTP/1.1, part 2: Message Semantics | |||
| draft-ietf-httpbis-p2-semantics-01 | draft-ietf-httpbis-p2-semantics-02 | |||
| Status of this Memo | Status of this Memo | |||
| By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
| applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
| have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
| aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| skipping to change at page 1, line 49 | skipping to change at page 1, line 49 | |||
| 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." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on July 15, 2008. | This Internet-Draft will expire on August 27, 2008. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The IETF Trust (2008). | Copyright (C) The IETF Trust (2008). | |||
| 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 | |||
| skipping to change at page 3, line 9 | skipping to change at page 3, line 9 | |||
| This draft incorporates those issue resolutions that were either | This draft incorporates those issue resolutions that were either | |||
| collected in the original RFC2616 errata list | collected in the original RFC2616 errata list | |||
| (<http://purl.org/NET/http-errata>), or which were agreed upon on the | (<http://purl.org/NET/http-errata>), or which were agreed upon on the | |||
| mailing list between October 2006 and November 2007 (as published in | mailing list between October 2006 and November 2007 (as published in | |||
| "draft-lafon-rfc2616bis-03"). | "draft-lafon-rfc2616bis-03"). | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 6 | 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 2. Product Tokens . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2. Notational Conventions and Generic Grammar . . . . . . . . . . 6 | |||
| 3. Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3. Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4. Request Header Fields . . . . . . . . . . . . . . . . . . . . 7 | 4. Request Header Fields . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. Status Code and Reason Phrase . . . . . . . . . . . . . . . . 8 | 5. Status Code and Reason Phrase . . . . . . . . . . . . . . . . 9 | |||
| 6. Response Header Fields . . . . . . . . . . . . . . . . . . . . 10 | 6. Response Header Fields . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7. Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 8. Method Definitions . . . . . . . . . . . . . . . . . . . . . . 11 | 8. Method Definitions . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8.1. Safe and Idempotent Methods . . . . . . . . . . . . . . . 11 | 8.1. Safe and Idempotent Methods . . . . . . . . . . . . . . . 12 | |||
| 8.1.1. Safe Methods . . . . . . . . . . . . . . . . . . . . . 11 | 8.1.1. Safe Methods . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 8.1.2. Idempotent Methods . . . . . . . . . . . . . . . . . . 11 | 8.1.2. Idempotent Methods . . . . . . . . . . . . . . . . . . 12 | |||
| 8.2. OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8.2. OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 8.3. GET . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8.3. GET . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 8.4. HEAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 8.4. HEAD . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 8.5. POST . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 8.5. POST . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8.6. PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 8.6. PUT . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 8.7. DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 8.7. DELETE . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 8.8. TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | 8.8. TRACE . . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 8.9. CONNECT . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 8.9. CONNECT . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 9. Status Code Definitions . . . . . . . . . . . . . . . . . . . 17 | 9. Status Code Definitions . . . . . . . . . . . . . . . . . . . 18 | |||
| 9.1. Informational 1xx . . . . . . . . . . . . . . . . . . . . 17 | 9.1. Informational 1xx . . . . . . . . . . . . . . . . . . . . 18 | |||
| 9.1.1. 100 Continue . . . . . . . . . . . . . . . . . . . . . 17 | 9.1.1. 100 Continue . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 9.1.2. 101 Switching Protocols . . . . . . . . . . . . . . . 18 | 9.1.2. 101 Switching Protocols . . . . . . . . . . . . . . . 19 | |||
| 9.2. Successful 2xx . . . . . . . . . . . . . . . . . . . . . . 18 | 9.2. Successful 2xx . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.2.1. 200 OK . . . . . . . . . . . . . . . . . . . . . . . . 18 | 9.2.1. 200 OK . . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.2.2. 201 Created . . . . . . . . . . . . . . . . . . . . . 18 | 9.2.2. 201 Created . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.2.3. 202 Accepted . . . . . . . . . . . . . . . . . . . . . 19 | 9.2.3. 202 Accepted . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 9.2.4. 203 Non-Authoritative Information . . . . . . . . . . 19 | 9.2.4. 203 Non-Authoritative Information . . . . . . . . . . 20 | |||
| 9.2.5. 204 No Content . . . . . . . . . . . . . . . . . . . . 19 | 9.2.5. 204 No Content . . . . . . . . . . . . . . . . . . . . 20 | |||
| 9.2.6. 205 Reset Content . . . . . . . . . . . . . . . . . . 20 | 9.2.6. 205 Reset Content . . . . . . . . . . . . . . . . . . 21 | |||
| 9.2.7. 206 Partial Content . . . . . . . . . . . . . . . . . 20 | 9.2.7. 206 Partial Content . . . . . . . . . . . . . . . . . 21 | |||
| 9.3. Redirection 3xx . . . . . . . . . . . . . . . . . . . . . 20 | 9.3. Redirection 3xx . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 9.3.1. 300 Multiple Choices . . . . . . . . . . . . . . . . . 20 | 9.3.1. 300 Multiple Choices . . . . . . . . . . . . . . . . . 21 | |||
| 9.3.2. 301 Moved Permanently . . . . . . . . . . . . . . . . 21 | 9.3.2. 301 Moved Permanently . . . . . . . . . . . . . . . . 22 | |||
| 9.3.3. 302 Found . . . . . . . . . . . . . . . . . . . . . . 21 | 9.3.3. 302 Found . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 9.3.4. 303 See Other . . . . . . . . . . . . . . . . . . . . 22 | 9.3.4. 303 See Other . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9.3.5. 304 Not Modified . . . . . . . . . . . . . . . . . . . 22 | 9.3.5. 304 Not Modified . . . . . . . . . . . . . . . . . . . 23 | |||
| 9.3.6. 305 Use Proxy . . . . . . . . . . . . . . . . . . . . 22 | 9.3.6. 305 Use Proxy . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9.3.7. 306 (Unused) . . . . . . . . . . . . . . . . . . . . . 23 | 9.3.7. 306 (Unused) . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 9.3.8. 307 Temporary Redirect . . . . . . . . . . . . . . . . 23 | 9.3.8. 307 Temporary Redirect . . . . . . . . . . . . . . . . 24 | |||
| 9.4. Client Error 4xx . . . . . . . . . . . . . . . . . . . . . 23 | 9.4. Client Error 4xx . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 9.4.1. 400 Bad Request . . . . . . . . . . . . . . . . . . . 24 | 9.4.1. 400 Bad Request . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.2. 401 Unauthorized . . . . . . . . . . . . . . . . . . . 24 | 9.4.2. 401 Unauthorized . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.3. 402 Payment Required . . . . . . . . . . . . . . . . . 24 | 9.4.3. 402 Payment Required . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.4. 403 Forbidden . . . . . . . . . . . . . . . . . . . . 24 | 9.4.4. 403 Forbidden . . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.5. 404 Not Found . . . . . . . . . . . . . . . . . . . . 24 | 9.4.5. 404 Not Found . . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.6. 405 Method Not Allowed . . . . . . . . . . . . . . . . 24 | 9.4.6. 405 Method Not Allowed . . . . . . . . . . . . . . . . 25 | |||
| 9.4.7. 406 Not Acceptable . . . . . . . . . . . . . . . . . . 24 | 9.4.7. 406 Not Acceptable . . . . . . . . . . . . . . . . . . 25 | |||
| 9.4.8. 407 Proxy Authentication Required . . . . . . . . . . 25 | 9.4.8. 407 Proxy Authentication Required . . . . . . . . . . 26 | |||
| 9.4.9. 408 Request Timeout . . . . . . . . . . . . . . . . . 25 | 9.4.9. 408 Request Timeout . . . . . . . . . . . . . . . . . 26 | |||
| 9.4.10. 409 Conflict . . . . . . . . . . . . . . . . . . . . . 25 | 9.4.10. 409 Conflict . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 9.4.11. 410 Gone . . . . . . . . . . . . . . . . . . . . . . . 26 | 9.4.11. 410 Gone . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 9.4.12. 411 Length Required . . . . . . . . . . . . . . . . . 26 | 9.4.12. 411 Length Required . . . . . . . . . . . . . . . . . 27 | |||
| 9.4.13. 412 Precondition Failed . . . . . . . . . . . . . . . 26 | 9.4.13. 412 Precondition Failed . . . . . . . . . . . . . . . 27 | |||
| 9.4.14. 413 Request Entity Too Large . . . . . . . . . . . . . 26 | 9.4.14. 413 Request Entity Too Large . . . . . . . . . . . . . 27 | |||
| 9.4.15. 414 Request-URI Too Long . . . . . . . . . . . . . . . 27 | 9.4.15. 414 Request-URI Too Long . . . . . . . . . . . . . . . 28 | |||
| 9.4.16. 415 Unsupported Media Type . . . . . . . . . . . . . . 27 | 9.4.16. 415 Unsupported Media Type . . . . . . . . . . . . . . 28 | |||
| 9.4.17. 416 Requested Range Not Satisfiable . . . . . . . . . 27 | 9.4.17. 416 Requested Range Not Satisfiable . . . . . . . . . 28 | |||
| 9.4.18. 417 Expectation Failed . . . . . . . . . . . . . . . . 27 | 9.4.18. 417 Expectation Failed . . . . . . . . . . . . . . . . 28 | |||
| 9.5. Server Error 5xx . . . . . . . . . . . . . . . . . . . . . 27 | 9.5. Server Error 5xx . . . . . . . . . . . . . . . . . . . . . 28 | |||
| 9.5.1. 500 Internal Server Error . . . . . . . . . . . . . . 27 | 9.5.1. 500 Internal Server Error . . . . . . . . . . . . . . 28 | |||
| 9.5.2. 501 Not Implemented . . . . . . . . . . . . . . . . . 28 | 9.5.2. 501 Not Implemented . . . . . . . . . . . . . . . . . 29 | |||
| 9.5.3. 502 Bad Gateway . . . . . . . . . . . . . . . . . . . 28 | 9.5.3. 502 Bad Gateway . . . . . . . . . . . . . . . . . . . 29 | |||
| 9.5.4. 503 Service Unavailable . . . . . . . . . . . . . . . 28 | 9.5.4. 503 Service Unavailable . . . . . . . . . . . . . . . 29 | |||
| 9.5.5. 504 Gateway Timeout . . . . . . . . . . . . . . . . . 28 | 9.5.5. 504 Gateway Timeout . . . . . . . . . . . . . . . . . 29 | |||
| 9.5.6. 505 HTTP Version Not Supported . . . . . . . . . . . . 28 | 9.5.6. 505 HTTP Version Not Supported . . . . . . . . . . . . 29 | |||
| 10. Header Field Definitions . . . . . . . . . . . . . . . . . . . 29 | 10. Header Field Definitions . . . . . . . . . . . . . . . . . . . 30 | |||
| 10.1. Allow . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 10.1. Allow . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 10.2. Expect . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | 10.2. Expect . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 10.3. From . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 10.3. From . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 10.4. Location . . . . . . . . . . . . . . . . . . . . . . . . . 31 | 10.4. Location . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 10.5. Max-Forwards . . . . . . . . . . . . . . . . . . . . . . . 32 | 10.5. Max-Forwards . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 10.6. Referer . . . . . . . . . . . . . . . . . . . . . . . . . 32 | 10.6. Referer . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 10.7. Retry-After . . . . . . . . . . . . . . . . . . . . . . . 33 | 10.7. Retry-After . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 10.8. Server . . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 10.8. Server . . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 10.9. User-Agent . . . . . . . . . . . . . . . . . . . . . . . . 34 | 10.9. User-Agent . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 12. Security Considerations . . . . . . . . . . . . . . . . . . . 34 | 12. Security Considerations . . . . . . . . . . . . . . . . . . . 35 | |||
| 12.1. Transfer of Sensitive Information . . . . . . . . . . . . 34 | 12.1. Transfer of Sensitive Information . . . . . . . . . . . . 35 | |||
| 12.2. Encoding Sensitive Information in URI's . . . . . . . . . 35 | 12.2. Encoding Sensitive Information in URIs . . . . . . . . . . 36 | |||
| 12.3. Location Headers and Spoofing . . . . . . . . . . . . . . 36 | 12.3. Location Headers and Spoofing . . . . . . . . . . . . . . 37 | |||
| 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 36 | 13. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . . 36 | 14.1. Normative References . . . . . . . . . . . . . . . . . . . 37 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . . 37 | 14.2. Informative References . . . . . . . . . . . . . . . . . . 38 | |||
| Appendix A. Compatibility with Previous Versions . . . . . . . . 37 | Appendix A. Compatibility with Previous Versions . . . . . . . . 38 | |||
| A.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 37 | A.1. Changes from RFC 2068 . . . . . . . . . . . . . . . . . . 38 | |||
| A.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 38 | A.2. Changes from RFC 2616 . . . . . . . . . . . . . . . . . . 39 | |||
| Appendix B. Change Log (to be removed by RFC Editor before | Appendix B. Change Log (to be removed by RFC Editor before | |||
| publication) . . . . . . . . . . . . . . . . . . . . 39 | publication) . . . . . . . . . . . . . . . . . . . . 40 | |||
| B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 39 | B.1. Since RFC2616 . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| B.2. Since draft-ietf-httpbis-p2-semantics-00 . . . . . . . . . 39 | B.2. Since draft-ietf-httpbis-p2-semantics-00 . . . . . . . . . 40 | |||
| Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 | B.3. Since draft-ietf-httpbis-p2-semantics-01 . . . . . . . . . 41 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 43 | Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 47 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 45 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 48 | ||||
| 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 | |||
| uniform interface, the intentions defined by each request method, and | uniform interface, the intentions defined by each request method, and | |||
| skipping to change at page 6, line 42 | skipping to change at page 6, line 42 | |||
| An implementation is not compliant if it fails to satisfy one or more | An implementation is not compliant if it fails to satisfy one or more | |||
| of the MUST or REQUIRED level requirements for the protocols it | of the MUST or REQUIRED level requirements for the protocols it | |||
| implements. An implementation that satisfies all the MUST or | implements. An implementation that satisfies all the MUST or | |||
| REQUIRED level and all the SHOULD level requirements for its | REQUIRED level and all the SHOULD level requirements for its | |||
| protocols is said to be "unconditionally compliant"; one that | protocols is said to be "unconditionally compliant"; one that | |||
| satisfies all the MUST level requirements but not all the SHOULD | satisfies all the MUST level requirements but not all the SHOULD | |||
| level requirements for its protocols is said to be "conditionally | level requirements for its protocols is said to be "conditionally | |||
| compliant." | compliant." | |||
| 2. Product Tokens | 2. Notational Conventions and Generic Grammar | |||
| Product tokens are used to allow communicating applications to | This specification uses the ABNF syntax defined in Section 2.1 of | |||
| identify themselves by software name and version. Most fields using | [Part1] and the core rules defined in Section 2.2 of [Part1]: | |||
| product tokens also allow sub-products which form a significant part | [[abnf.dep: ABNF syntax and basic rules will be adopted from RFC | |||
| of the application to be listed, separated by white space. By | 5234, see <http://tools.ietf.org/wg/httpbis/trac/ticket/36>.]] | |||
| convention, the products are listed in order of their significance | ||||
| for identifying the application. | ||||
| product = token ["/" product-version] | DIGIT = <DIGIT, defined in [Part1], Section 2.2> | |||
| product-version = token | comment = <comment, defined in [Part1], Section 2.2> | |||
| quoted-string = <quoted-string, defined in [Part1], Section 2.2> | ||||
| token = <token, defined in [Part1], Section 2.2> | ||||
| Examples: | The ABNF rules below are defined in other parts: | |||
| User-Agent: CERN-LineMode/2.15 libwww/2.17b3 | absoluteURI = <absoluteURI, defined in [Part1], Section 3.2.1> | |||
| Server: Apache/0.8.4 | fragment = <fragment, defined in [Part1], Section 3.2.1> | |||
| Host = <Host, defined in [Part1], Section 8.4> | ||||
| HTTP-date = <HTTP-date, defined in [Part1], Section 3.3.1> | ||||
| product = <product, defined in [Part1], Section 3.5> | ||||
| relativeURI = <relativeURI, defined in [Part1], Section 3.2.1> | ||||
| TE = <TE, defined in [Part1], Section 8.8> | ||||
| Product tokens SHOULD be short and to the point. They MUST NOT be | Accept = <Accept, defined in [Part3], Section 6.1> | |||
| used for advertising or other non-essential information. Although | Accept-Charset = | |||
| any token character MAY appear in a product-version, this token | <Accept-Charset, defined in [Part3], Section 6.2> | |||
| SHOULD only be used for a version identifier (i.e., successive | Accept-Encoding = | |||
| versions of the same product SHOULD only differ in the product- | <Accept-Encoding, defined in [Part3], Section 6.3> | |||
| version portion of the product value). | Accept-Language = | |||
| <Accept-Language, defined in [Part3], Section 6.4> | ||||
| ETag = <ETag, defined in [Part4], Section 7.1> | ||||
| If-Match = <If-Match, defined in [Part4], Section 7.2> | ||||
| If-Modified-Since = | ||||
| <If-Modified-Since, defined in [Part4], Section 7.3> | ||||
| If-None-Match = <If-None-Match, defined in [Part4], Section 7.4> | ||||
| If-Unmodified-Since = | ||||
| <If-Unmodified-Since, defined in [Part4], Section 7.5> | ||||
| Accept-Ranges = <Accept-Ranges, defined in [Part5], Section 6.1> | ||||
| If-Range = <If-Range, defined in [Part5], Section 6.3> | ||||
| Range = <Range, defined in [Part5], Section 6.4> | ||||
| Age = <Age, defined in [Part6], Section 16.1> | ||||
| Vary = <Vary, defined in [Part6], Section 16.5> | ||||
| Authorization = <Authorization, defined in [Part7], Section 4.1> | ||||
| Proxy-Authenticate = | ||||
| <Proxy-Authenticate, defined in [Part7], Section 4.2> | ||||
| Proxy-Authorization = | ||||
| <Proxy-Authorization, defined in [Part7], Section 4.3> | ||||
| WWW-Authenticate = | ||||
| <WWW-Authenticate, defined in [Part7], Section 4.4> | ||||
| 3. Method | 3. Method | |||
| The Method token indicates the method to be performed on the resource | The Method token indicates the method to be performed on the resource | |||
| identified by the Request-URI. The method is case-sensitive. | identified by the Request-URI. The method is case-sensitive. | |||
| Method = "OPTIONS" ; Section 8.2 | Method = "OPTIONS" ; Section 8.2 | |||
| | "GET" ; Section 8.3 | | "GET" ; Section 8.3 | |||
| | "HEAD" ; Section 8.4 | | "HEAD" ; Section 8.4 | |||
| | "POST" ; Section 8.5 | | "POST" ; Section 8.5 | |||
| skipping to change at page 8, line 9 | skipping to change at page 9, line 5 | |||
| those specified in Section 8. | those specified in Section 8. | |||
| 4. Request Header Fields | 4. Request Header Fields | |||
| The request-header fields allow the client to pass additional | The request-header fields allow the client to pass additional | |||
| information about the request, and about the client itself, to the | information about the request, and about the client itself, to the | |||
| server. These fields act as request modifiers, with semantics | server. These fields act as request modifiers, with semantics | |||
| equivalent to the parameters on a programming language method | equivalent to the parameters on a programming language method | |||
| invocation. | invocation. | |||
| request-header = Accept ; [Part3], Section 5.1 | request-header = Accept ; [Part3], Section 6.1 | |||
| | Accept-Charset ; [Part3], Section 5.2 | | Accept-Charset ; [Part3], Section 6.2 | |||
| | Accept-Encoding ; [Part3], Section 5.3 | | Accept-Encoding ; [Part3], Section 6.3 | |||
| | Accept-Language ; [Part3], Section 5.4 | | Accept-Language ; [Part3], Section 6.4 | |||
| | Authorization ; [Part7], Section 3.1 | | Authorization ; [Part7], Section 4.1 | |||
| | Expect ; Section 10.2 | | Expect ; Section 10.2 | |||
| | From ; Section 10.3 | | From ; Section 10.3 | |||
| | Host ; [Part1], Section 8.4 | | Host ; [Part1], Section 8.4 | |||
| | If-Match ; [Part4], Section 6.2 | | If-Match ; [Part4], Section 7.2 | |||
| | If-Modified-Since ; [Part4], Section 6.3 | | If-Modified-Since ; [Part4], Section 7.3 | |||
| | If-None-Match ; [Part4], Section 6.4 | | If-None-Match ; [Part4], Section 7.4 | |||
| | If-Range ; [Part5], Section 5.3 | | If-Range ; [Part5], Section 6.3 | |||
| | If-Unmodified-Since ; [Part4], Section 6.5 | | If-Unmodified-Since ; [Part4], Section 7.5 | |||
| | Max-Forwards ; Section 10.5 | | Max-Forwards ; Section 10.5 | |||
| | Proxy-Authorization ; [Part7], Section 3.3 | | Proxy-Authorization ; [Part7], Section 4.3 | |||
| | Range ; [Part5], Section 5.4 | | Range ; [Part5], Section 6.4 | |||
| | Referer ; Section 10.6 | | Referer ; Section 10.6 | |||
| | TE ; [Part1], Section 8.8 | | TE ; [Part1], Section 8.8 | |||
| | User-Agent ; Section 10.9 | | User-Agent ; Section 10.9 | |||
| Request-header field names can be extended reliably only in | Request-header field names can be extended reliably only in | |||
| combination with a change in the protocol version. However, new or | combination with a change in the protocol version. However, new or | |||
| experimental header fields MAY be given the semantics of request- | experimental header fields MAY be given the semantics of request- | |||
| header fields if all parties in the communication recognize them to | header fields if all parties in the communication recognize them to | |||
| be request-header fields. Unrecognized header fields are treated as | be request-header fields. Unrecognized header fields are treated as | |||
| entity-header fields. | entity-header fields. | |||
| skipping to change at page 10, line 23 | skipping to change at page 11, line 23 | |||
| with the response, since that entity is likely to include human- | with the response, since that entity is likely to include human- | |||
| readable information which will explain the unusual status. | readable information which will explain the unusual status. | |||
| 6. Response Header Fields | 6. Response Header Fields | |||
| The response-header fields allow the server to pass additional | The response-header fields allow the server to pass additional | |||
| information about the response which cannot be placed in the Status- | information about the response which cannot be placed in the Status- | |||
| Line. These header fields give information about the server and | Line. These header fields give information about the server and | |||
| about further access to the resource identified by the Request-URI. | about further access to the resource identified by the Request-URI. | |||
| response-header = Accept-Ranges ; [Part5], Section 5.1 | response-header = Accept-Ranges ; [Part5], Section 6.1 | |||
| | Age ; [Part6], Section 15.1 | | Age ; [Part6], Section 16.1 | |||
| | ETag ; [Part4], Section 6.1 | | ETag ; [Part4], Section 7.1 | |||
| | Location ; Section 10.4 | | Location ; Section 10.4 | |||
| | Proxy-Authenticate ; [Part7], Section 3.2 | | Proxy-Authenticate ; [Part7], Section 4.2 | |||
| | Retry-After ; Section 10.7 | | Retry-After ; Section 10.7 | |||
| | Server ; Section 10.8 | | Server ; Section 10.8 | |||
| | Vary ; [Part6], Section 15.5 | | Vary ; [Part6], Section 16.5 | |||
| | WWW-Authenticate ; [Part7], Section 3.4 | | WWW-Authenticate ; [Part7], Section 4.4 | |||
| Response-header field names can be extended reliably only in | Response-header field names can be extended reliably only in | |||
| combination with a change in the protocol version. However, new or | combination with a change in the protocol version. However, new or | |||
| experimental header fields MAY be given the semantics of response- | experimental header fields MAY be given the semantics of response- | |||
| header fields if all parties in the communication recognize them to | header fields if all parties in the communication recognize them to | |||
| be response-header fields. Unrecognized header fields are treated as | be response-header fields. Unrecognized header fields are treated as | |||
| entity-header fields. | entity-header fields. | |||
| 7. Entity | 7. Entity | |||
| skipping to change at page 11, line 13 | skipping to change at page 12, line 13 | |||
| present, as described in Section 4.3 of [Part1]. The entity-body is | present, as described in Section 4.3 of [Part1]. The entity-body is | |||
| obtained from the message-body by decoding any Transfer-Encoding that | obtained from the message-body by decoding any Transfer-Encoding that | |||
| might have been applied to ensure safe and proper transfer of the | might have been applied to ensure safe and proper transfer of the | |||
| message. | message. | |||
| 8. Method Definitions | 8. Method Definitions | |||
| The set of common methods for HTTP/1.1 is defined below. Although | The set of common methods for HTTP/1.1 is defined below. Although | |||
| this set can be expanded, additional methods cannot be assumed to | this set can be expanded, additional methods cannot be assumed to | |||
| share the same semantics for separately extended clients and servers. | share the same semantics for separately extended clients and servers. | |||
| The Host request-header field (Section 8.4 of [Part1]) MUST accompany | ||||
| all HTTP/1.1 requests. | ||||
| 8.1. Safe and Idempotent Methods | 8.1. Safe and Idempotent Methods | |||
| 8.1.1. Safe Methods | 8.1.1. Safe Methods | |||
| Implementors should be aware that the software represents the user in | Implementors should be aware that the software represents the user in | |||
| their interactions over the Internet, and should be careful to allow | their interactions over the Internet, and should be careful to allow | |||
| the user to be aware of any actions they might take which may have an | the user to be aware of any actions they might take which may have an | |||
| unexpected significance to themselves or others. | unexpected significance to themselves or others. | |||
| skipping to change at page 13, line 37 | skipping to change at page 14, line 34 | |||
| If-Match, If-None-Match, or If-Range header field. A conditional GET | If-Match, If-None-Match, or If-Range header field. A conditional GET | |||
| method requests that the entity be transferred only under the | method requests that the entity be transferred only under the | |||
| circumstances described by the conditional header field(s). The | circumstances described by the conditional header field(s). The | |||
| conditional GET method is intended to reduce unnecessary network | conditional GET method is intended to reduce unnecessary network | |||
| usage by allowing cached entities to be refreshed without requiring | usage by allowing cached entities to be refreshed without requiring | |||
| multiple requests or transferring data already held by the client. | multiple requests or transferring data already held by the client. | |||
| The semantics of the GET method change to a "partial GET" if the | The semantics of the GET method change to a "partial GET" if the | |||
| request message includes a Range header field. A partial GET | request message includes a Range header field. A partial GET | |||
| requests that only part of the entity be transferred, as described in | requests that only part of the entity be transferred, as described in | |||
| Section 5.4 of [Part5]. The partial GET method is intended to reduce | Section 6.4 of [Part5]. The partial GET method is intended to reduce | |||
| unnecessary network usage by allowing partially-retrieved entities to | unnecessary network usage by allowing partially-retrieved entities to | |||
| be completed without transferring data already held by the client. | be completed without transferring data already held by the client. | |||
| The response to a GET request is cacheable if and only if it meets | The response to a GET request is cacheable if and only if it meets | |||
| the requirements for HTTP caching described in [Part6]. | the requirements for HTTP caching described in [Part6]. | |||
| See Section 12.2 for security considerations when used for forms. | See Section 12.2 for security considerations when used for forms. | |||
| 8.4. HEAD | 8.4. HEAD | |||
| skipping to change at page 15, line 14 | skipping to change at page 16, line 14 | |||
| 8.6. PUT | 8.6. PUT | |||
| The PUT method requests that the enclosed entity be stored under the | The PUT method requests that the enclosed entity be stored under the | |||
| supplied Request-URI. If the Request-URI refers to an already | supplied Request-URI. If the Request-URI refers to an already | |||
| existing resource, the enclosed entity SHOULD be considered as a | existing resource, the enclosed entity SHOULD be considered as a | |||
| modified version of the one residing on the origin server. If the | modified version of the one residing on the origin server. If the | |||
| Request-URI does not point to an existing resource, and that URI is | Request-URI does not point to an existing resource, and that URI is | |||
| capable of being defined as a new resource by the requesting user | capable of being defined as a new resource by the requesting user | |||
| agent, the origin server can create the resource with that URI. If a | agent, the origin server can create the resource with that URI. If a | |||
| new resource is created, the origin server MUST inform the user agent | new resource is created at the Request-URI, the origin server MUST | |||
| via the 201 (Created) response. If an existing resource is modified, | inform the user agent via the 201 (Created) response. If an existing | |||
| either the 200 (OK) or 204 (No Content) response codes SHOULD be sent | resource is modified, either the 200 (OK) or 204 (No Content) | |||
| to indicate successful completion of the request. If the resource | response codes SHOULD be sent to indicate successful completion of | |||
| could not be created or modified with the Request-URI, an appropriate | the request. If the resource could not be created or modified with | |||
| error response SHOULD be given that reflects the nature of the | the Request-URI, an appropriate error response SHOULD be given that | |||
| problem. The recipient of the entity MUST NOT ignore any Content-* | reflects the nature of the problem. The recipient of the entity MUST | |||
| (e.g. Content-Range) headers that it does not understand or | NOT ignore any Content-* (e.g. Content-Range) headers that it does | |||
| implement and MUST return a 501 (Not Implemented) response in such | not understand or implement and MUST return a 501 (Not Implemented) | |||
| cases. | response in such cases. | |||
| If the request passes through a cache and the Request-URI identifies | If the request passes through a cache and the Request-URI identifies | |||
| one or more currently cached entities, those entries SHOULD be | one or more currently cached entities, those entries SHOULD be | |||
| treated as stale. Responses to this method are not cacheable. | treated as stale. Responses to this method are not cacheable. | |||
| The fundamental difference between the POST and PUT requests is | The fundamental difference between the POST and PUT requests is | |||
| reflected in the different meaning of the Request-URI. The URI in a | reflected in the different meaning of the Request-URI. The URI in a | |||
| POST request identifies the resource that will handle the enclosed | POST request identifies the resource that will handle the enclosed | |||
| entity. That resource might be a data-accepting process, a gateway | entity. That resource might be a data-accepting process, a gateway | |||
| to some other protocol, or a separate entity that accepts | to some other protocol, or a separate entity that accepts | |||
| skipping to change at page 18, line 8 | skipping to change at page 19, line 8 | |||
| been received and has not yet been rejected by the server. The | been received and has not yet been rejected by the server. The | |||
| client SHOULD continue by sending the remainder of the request or, if | client SHOULD continue by sending the remainder of the request or, if | |||
| the request has already been completed, ignore this response. The | the request has already been completed, ignore this response. The | |||
| server MUST send a final response after the request has been | server MUST send a final response after the request has been | |||
| completed. See Section 7.2.3 of [Part1] for detailed discussion of | completed. See Section 7.2.3 of [Part1] for detailed discussion of | |||
| the use and handling of this status code. | the use and handling of this status code. | |||
| 9.1.2. 101 Switching Protocols | 9.1.2. 101 Switching Protocols | |||
| The server understands and is willing to comply with the client's | The server understands and is willing to comply with the client's | |||
| request, via the Upgrade message header field (Section 5.4 of | request, via the Upgrade message header field (Section 6.4 of | |||
| [Part5]), for a change in the application protocol being used on this | [Part5]), for a change in the application protocol being used on this | |||
| connection. The server will switch protocols to those defined by the | connection. The server will switch protocols to those defined by the | |||
| response's Upgrade header field immediately after the empty line | response's Upgrade header field immediately after the empty line | |||
| which terminates the 101 response. | which terminates the 101 response. | |||
| The protocol SHOULD be switched only when it is advantageous to do | The protocol SHOULD be switched only when it is advantageous to do | |||
| so. For example, switching to a newer version of HTTP is | so. For example, switching to a newer version of HTTP is | |||
| advantageous over older versions, and switching to a real-time, | advantageous over older versions, and switching to a real-time, | |||
| synchronous protocol might be advantageous when delivering resources | synchronous protocol might be advantageous when delivering resources | |||
| that use such features. | that use such features. | |||
| skipping to change at page 19, line 8 | skipping to change at page 20, line 8 | |||
| SHOULD include an entity containing a list of resource | SHOULD include an entity containing a list of resource | |||
| characteristics and location(s) from which the user or user agent can | characteristics and location(s) from which the user or user agent can | |||
| choose the one most appropriate. The entity format is specified by | choose the one most appropriate. The entity format is specified by | |||
| the media type given in the Content-Type header field. The origin | the media type given in the Content-Type header field. The origin | |||
| server MUST create the resource before returning the 201 status code. | server MUST create the resource before returning the 201 status code. | |||
| If the action cannot be carried out immediately, the server SHOULD | If the action cannot be carried out immediately, the server SHOULD | |||
| respond with 202 (Accepted) response instead. | respond with 202 (Accepted) response instead. | |||
| A 201 response MAY contain an ETag response header field indicating | A 201 response MAY contain an ETag response header field indicating | |||
| the current value of the entity tag for the requested variant just | the current value of the entity tag for the requested variant just | |||
| created, see Section 6.1 of [Part4]. | created, see Section 7.1 of [Part4]. | |||
| 9.2.3. 202 Accepted | 9.2.3. 202 Accepted | |||
| The request has been accepted for processing, but the processing has | The request has been accepted for processing, but the processing has | |||
| not been completed. The request might or might not eventually be | not been completed. The request might or might not eventually be | |||
| acted upon, as it might be disallowed when processing actually takes | acted upon, as it might be disallowed when processing actually takes | |||
| place. There is no facility for re-sending a status code from an | place. There is no facility for re-sending a status code from an | |||
| asynchronous operation such as this. | asynchronous operation such as this. | |||
| The 202 response is intentionally non-committal. Its purpose is to | The 202 response is intentionally non-committal. Its purpose is to | |||
| skipping to change at page 20, line 41 | skipping to change at page 21, line 41 | |||
| Note: previous versions of this specification recommended a | Note: previous versions of this specification recommended a | |||
| maximum of five redirections. Content developers should be aware | maximum of five redirections. Content developers should be aware | |||
| that there might be clients that implement such a fixed | that there might be clients that implement such a fixed | |||
| limitation. | limitation. | |||
| 9.3.1. 300 Multiple Choices | 9.3.1. 300 Multiple Choices | |||
| The requested resource corresponds to any one of a set of | The requested resource corresponds to any one of a set of | |||
| representations, each with its own specific location, and agent- | representations, each with its own specific location, and agent- | |||
| driven negotiation information (Section 4 of [Part3]) is being | driven negotiation information (Section 5 of [Part3]) is being | |||
| provided so that the user (or user agent) can select a preferred | provided so that the user (or user agent) can select a preferred | |||
| representation and redirect its request to that location. | representation and redirect its request to that location. | |||
| Unless it was a HEAD request, the response SHOULD include an entity | Unless it was a HEAD request, the response SHOULD include an entity | |||
| containing a list of resource characteristics and location(s) from | containing a list of resource characteristics and location(s) from | |||
| which the user or user agent can choose the one most appropriate. | which the user or user agent can choose the one most appropriate. | |||
| The entity format is specified by the media type given in the | The entity format is specified by the media type given in the | |||
| Content-Type header field. Depending upon the format and the | Content-Type header field. Depending upon the format and the | |||
| capabilities of the user agent, selection of the most appropriate | capabilities of the user agent, selection of the most appropriate | |||
| choice MAY be performed automatically. However, this specification | choice MAY be performed automatically. However, this specification | |||
| skipping to change at page 27, line 25 | skipping to change at page 28, line 25 | |||
| buffers for reading or manipulating the Request-URI. | buffers for reading or manipulating the Request-URI. | |||
| 9.4.16. 415 Unsupported Media Type | 9.4.16. 415 Unsupported Media Type | |||
| The server is refusing to service the request because the entity of | The server is refusing to service the request because the entity of | |||
| the request is in a format not supported by the requested resource | the request is in a format not supported by the requested resource | |||
| for the requested method. | for the requested method. | |||
| 9.4.17. 416 Requested Range Not Satisfiable | 9.4.17. 416 Requested Range Not Satisfiable | |||
| The request included a Range request-header field (Section 5.4 of | The request included a Range request-header field (Section 6.4 of | |||
| [Part5]) and none of the range-specifier values in this field overlap | [Part5]) and none of the range-specifier values in this field overlap | |||
| the current extent of the selected resource. | the current extent of the selected resource. | |||
| 9.4.18. 417 Expectation Failed | 9.4.18. 417 Expectation Failed | |||
| The expectation given in an Expect request-header field (see | The expectation given in an Expect request-header field (see | |||
| Section 10.2) could not be met by this server, or, if the server is a | Section 10.2) could not be met by this server, or, if the server is a | |||
| proxy, the server has unambiguous evidence that the request could not | proxy, the server has unambiguous evidence that the request could not | |||
| be met by the next-hop server. | be met by the next-hop server. | |||
| skipping to change at page 28, line 43 | skipping to change at page 29, line 43 | |||
| 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 | |||
| to access in attempting to complete the request. | to access in attempting to complete the request. | |||
| Note: Note to implementors: some deployed proxies are known to | Note: Note to implementors: some deployed proxies are known to | |||
| return 400 or 500 when DNS lookups time out. | return 400 or 500 when DNS lookups time out. | |||
| 9.5.6. 505 HTTP Version Not Supported | 9.5.6. 505 HTTP Version Not Supported | |||
| The server does not support, or refuses to support, the HTTP 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 | |||
| 3.1 of [Part1], other than with this error message. The response | 3.1 of [Part1], other than with this error message. The response | |||
| SHOULD contain an entity describing why that version is not supported | SHOULD contain an entity describing why that version is not supported | |||
| and what other protocols are supported by that server. | and what other protocols are supported by that server. | |||
| 10. Header Field Definitions | 10. 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 | |||
| skipping to change at page 30, line 43 | skipping to change at page 31, line 43 | |||
| 10.3. From | 10.3. From | |||
| The From request-header field, if given, SHOULD contain an Internet | The From request-header field, if given, SHOULD contain an Internet | |||
| e-mail address for the human user who controls the requesting user | e-mail address for the human user who controls the requesting user | |||
| agent. The address SHOULD be machine-usable, as defined by "mailbox" | agent. The address SHOULD be machine-usable, as defined by "mailbox" | |||
| in Section 3.4 of [RFC2822]: | in Section 3.4 of [RFC2822]: | |||
| From = "From" ":" mailbox | From = "From" ":" mailbox | |||
| mailbox = <mailbox, defined in [RFC2822], Section 3.4> | ||||
| An example is: | An example is: | |||
| From: webmaster@example.org | From: webmaster@example.org | |||
| This header field MAY be used for logging purposes and as a means for | This header field MAY be used for logging purposes and as a means for | |||
| identifying the source of invalid or unwanted requests. It SHOULD | identifying the source of invalid or unwanted requests. It SHOULD | |||
| NOT be used as an insecure form of access protection. The | NOT be used as an insecure form of access protection. The | |||
| interpretation of this field is that the request is being performed | interpretation of this field is that the request is being performed | |||
| on behalf of the person given, who accepts responsibility for the | on behalf of the person given, who accepts responsibility for the | |||
| method performed. In particular, robot agents SHOULD include this | method performed. In particular, robot agents SHOULD include this | |||
| skipping to change at page 31, line 35 | skipping to change at page 32, line 37 | |||
| by the request. For 3xx responses, the location SHOULD indicate the | by the request. For 3xx responses, the location SHOULD indicate the | |||
| server's preferred URI for automatic redirection to the resource. | server's preferred URI for automatic redirection to the resource. | |||
| The field value consists of a single absolute URI. | The field value consists of a single absolute URI. | |||
| Location = "Location" ":" absoluteURI [ "#" fragment ] | Location = "Location" ":" absoluteURI [ "#" fragment ] | |||
| An example is: | An example is: | |||
| Location: http://www.example.org/pub/WWW/People.html | Location: http://www.example.org/pub/WWW/People.html | |||
| Note: The Content-Location header field (Section 5.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 | |||
| original location of the entity enclosed in the request. It is | original location of the entity enclosed in the request. It is | |||
| therefore possible for a response to contain header fields for | therefore possible for a response to contain header fields for | |||
| both Location and Content-Location. | both Location and Content-Location. | |||
| There are circumstances in which a fragment identifier in a Location | There are circumstances in which a fragment identifier in a Location | |||
| URL would not be appropriate: | URL would not be appropriate: | |||
| o With a 201 Created response, because in this usage the Location | o With a 201 Created response, because in this usage the Location | |||
| header specifies the URL for the entire created resource. | header specifies the URL for the entire created resource. | |||
| skipping to change at page 33, line 19 | skipping to change at page 34, line 19 | |||
| The Retry-After response-header field can be used with a 503 (Service | The Retry-After response-header field can be used with a 503 (Service | |||
| Unavailable) response to indicate how long the service is expected to | Unavailable) response to indicate how long the service is expected to | |||
| be unavailable to the requesting client. This field MAY also be used | be unavailable to the requesting client. This field MAY also be used | |||
| with any 3xx (Redirection) response to indicate the minimum time the | with any 3xx (Redirection) response to indicate the minimum time the | |||
| user-agent is asked wait before issuing the redirected request. The | user-agent is asked wait before issuing the redirected request. The | |||
| value of this field can be either an HTTP-date or an integer number | value of this field can be either an HTTP-date or an integer number | |||
| of seconds (in decimal) after the time of the response. | of seconds (in decimal) after the time of the response. | |||
| Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) | Retry-After = "Retry-After" ":" ( HTTP-date | delta-seconds ) | |||
| Time spans are non-negative decimal integers, representing time in | ||||
| seconds. | ||||
| delta-seconds = 1*DIGIT | ||||
| Two examples of its use are | Two examples of its use are | |||
| Retry-After: Fri, 31 Dec 1999 23:59:59 GMT | Retry-After: Fri, 31 Dec 1999 23:59:59 GMT | |||
| Retry-After: 120 | Retry-After: 120 | |||
| In the latter example, the delay is 2 minutes. | In the latter example, the delay is 2 minutes. | |||
| 10.8. Server | 10.8. Server | |||
| The Server response-header field contains information about the | The Server response-header field contains information about the | |||
| software used by the origin server to handle the request. The field | software used by the origin server to handle the request. The field | |||
| can contain multiple product tokens (Section 2) and comments | can contain multiple product tokens (Section 3.5 of [Part1]) and | |||
| identifying the server and any significant subproducts. The product | comments identifying the server and any significant subproducts. The | |||
| tokens are listed in order of their significance for identifying the | product tokens are listed in order of their significance for | |||
| application. | identifying the application. | |||
| Server = "Server" ":" 1*( product | comment ) | Server = "Server" ":" 1*( product | comment ) | |||
| Example: | Example: | |||
| Server: CERN/3.0 libwww/2.17 | Server: CERN/3.0 libwww/2.17 | |||
| If the response is being forwarded through a proxy, the proxy | If the response is being forwarded through a proxy, the proxy | |||
| application MUST NOT modify the Server response-header. Instead, it | application MUST NOT modify the Server response-header. Instead, it | |||
| MUST include a Via field (as described in Section 8.9 of [Part1]). | MUST include a Via field (as described in Section 8.9 of [Part1]). | |||
| skipping to change at page 34, line 13 | skipping to change at page 35, line 15 | |||
| option. | option. | |||
| 10.9. User-Agent | 10.9. User-Agent | |||
| The User-Agent request-header field contains information about the | The User-Agent request-header field contains information about the | |||
| user agent originating the request. This is for statistical | user agent originating the request. This is for statistical | |||
| purposes, the tracing of protocol violations, and automated | purposes, the tracing of protocol violations, and automated | |||
| recognition of user agents for the sake of tailoring responses to | recognition of user agents for the sake of tailoring responses to | |||
| avoid particular user agent limitations. User agents SHOULD include | avoid particular user agent limitations. User agents SHOULD include | |||
| this field with requests. The field can contain multiple product | this field with requests. The field can contain multiple product | |||
| tokens (Section 2) and comments identifying the agent and any | tokens (Section 3.5 of [Part1]) and comments identifying the agent | |||
| subproducts which form a significant part of the user agent. By | and any subproducts which form a significant part of the user agent. | |||
| convention, the product tokens are listed in order of their | By convention, the product tokens are listed in order of their | |||
| significance for identifying the application. | significance for identifying the application. | |||
| User-Agent = "User-Agent" ":" 1*( product | comment ) | User-Agent = "User-Agent" ":" 1*( product | comment ) | |||
| Example: | Example: | |||
| User-Agent: CERN-LineMode/2.15 libwww/2.17b3 | User-Agent: CERN-LineMode/2.15 libwww/2.17b3 | |||
| 11. IANA Considerations | 11. IANA Considerations | |||
| TBD. | [[anchor1: TBD.]] | |||
| 12. Security Considerations | 12. Security Considerations | |||
| This section is meant to inform application developers, information | This section is meant to inform application developers, information | |||
| providers, and users of the security limitations in HTTP/1.1 as | providers, and users of the security limitations in HTTP/1.1 as | |||
| described by this document. The discussion does not include | described by this document. The discussion does not include | |||
| definitive solutions to the problems revealed, though it does make | definitive solutions to the problems revealed, though it does make | |||
| some suggestions for reducing security risks. | some suggestions for reducing security risks. | |||
| 12.1. Transfer of Sensitive Information | 12.1. Transfer of Sensitive Information | |||
| skipping to change at page 35, line 35 | skipping to change at page 36, line 37 | |||
| We suggest, though do not require, that a convenient toggle interface | We suggest, though do not require, that a convenient toggle interface | |||
| be provided for the user to enable or disable the sending of From and | be provided for the user to enable or disable the sending of From and | |||
| Referer information. | Referer information. | |||
| The User-Agent (Section 10.9) or Server (Section 10.8) header fields | The User-Agent (Section 10.9) or Server (Section 10.8) header fields | |||
| can sometimes be used to determine that a specific client or server | can sometimes be used to determine that a specific client or server | |||
| have a particular security hole which might be exploited. | have a particular security hole which might be exploited. | |||
| Unfortunately, this same information is often used for other valuable | Unfortunately, this same information is often used for other valuable | |||
| purposes for which HTTP currently has no better mechanism. | purposes for which HTTP currently has no better mechanism. | |||
| 12.2. Encoding Sensitive Information in URI's | 12.2. Encoding Sensitive Information in URIs | |||
| Because the source of a link might be private information or might | Because the source of a link might be private information or might | |||
| reveal an otherwise private information source, it is strongly | reveal an otherwise private information source, it is strongly | |||
| recommended that the user be able to select whether or not the | recommended that the user be able to select whether or not the | |||
| Referer field is sent. For example, a browser client could have a | Referer field is sent. For example, a browser client could have a | |||
| toggle switch for browsing openly/anonymously, which would | toggle switch for browsing openly/anonymously, which would | |||
| respectively enable/disable the sending of Referer and From | respectively enable/disable the sending of Referer and From | |||
| information. | information. | |||
| Clients SHOULD NOT include a Referer header field in a (non-secure) | Clients SHOULD NOT include a Referer header field in a (non-secure) | |||
| HTTP request if the referring page was transferred with a secure | HTTP request if the referring page was transferred with a secure | |||
| protocol. | protocol. | |||
| Authors of services which use the HTTP protocol SHOULD NOT use GET | Authors of services should not use GET-based forms for the submission | |||
| based forms for the submission of sensitive data, because this will | of sensitive data because that data will be encoded in the Request- | |||
| cause this data to be encoded in the Request-URI. Many existing | URI. Many existing servers, proxies, and user agents log or display | |||
| servers, proxies, and user agents will log the request URI in some | the Request-URI in places where it might be visible to third parties. | |||
| place where it might be visible to third parties. Servers can use | Such services can use POST-based form submission instead. | |||
| POST-based form submission instead | ||||
| 12.3. Location Headers and Spoofing | 12.3. Location Headers and Spoofing | |||
| If a single server supports multiple organizations that do not trust | If a single server supports multiple organizations that do not trust | |||
| one another, then it MUST check the values of Location and Content- | one another, then it MUST check the values of Location and Content- | |||
| Location headers in responses that are generated under control of | Location headers in responses that are generated under control of | |||
| said organizations to make sure that they do not attempt to | said organizations to make sure that they do not attempt to | |||
| invalidate resources over which they have no authority. | invalidate resources over which they have no authority. | |||
| 13. Acknowledgments | 13. Acknowledgments | |||
| 14. References | 14. References | |||
| 14.1. Normative References | 14.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-01 | and Message Parsing", draft-ietf-httpbis-p1-messaging-02 | |||
| (work in progress), January 2008. | (work in progress), February 2008. | |||
| [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-01 | and Content Negotiation", draft-ietf-httpbis-p3-payload-02 | |||
| (work in progress), January 2008. | (work in progress), February 2008. | |||
| [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-01 (work in | Requests", draft-ietf-httpbis-p4-conditional-02 (work in | |||
| progress), January 2008. | progress), February 2008. | |||
| [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-01 (work | Partial Responses", draft-ietf-httpbis-p5-range-02 (work | |||
| in progress), January 2008. | in progress), February 2008. | |||
| [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., | |||
| and J. Reschke, Ed., "HTTP/1.1, part 6: Caching", | and J. Reschke, Ed., "HTTP/1.1, part 6: Caching", | |||
| draft-ietf-httpbis-p6-cache-01 (work in progress), | draft-ietf-httpbis-p6-cache-02 (work in progress), | |||
| January 2008. | February 2008. | |||
| [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-01 (work in progress), | draft-ietf-httpbis-p7-auth-02 (work in progress), | |||
| January 2008. | February 2008. | |||
| [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. | |||
| 14.2. Informative References | 14.2. Informative References | |||
| [Luo1998] Luotonen, A., "Tunneling TCP based protocols through Web | [Luo1998] Luotonen, A., "Tunneling TCP based protocols through Web | |||
| proxy servers", draft-luotonen-web-proxy-tunneling-01 | proxy servers", draft-luotonen-web-proxy-tunneling-01 | |||
| (work in progress), August 1998. | (work in progress), August 1998. | |||
| skipping to change at page 39, line 46 | skipping to change at page 41, line 5 | |||
| o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/65>: | o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/65>: | |||
| "Informative references" | "Informative references" | |||
| o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/84>: "Redundant | o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/84>: "Redundant | |||
| cross-references" | cross-references" | |||
| Other changes: | Other changes: | |||
| o Move definitions of 304 and 412 condition codes to [Part4] | o Move definitions of 304 and 412 condition codes to [Part4] | |||
| B.3. Since draft-ietf-httpbis-p2-semantics-01 | ||||
| Closed issues: | ||||
| o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/21>: "PUT side | ||||
| effects" | ||||
| o <http://www3.tools.ietf.org/wg/httpbis/trac/ticket/91>: "Duplicate | ||||
| Host header requirements" | ||||
| Ongoing work on ABNF conversion | ||||
| (<http://www3.tools.ietf.org/wg/httpbis/trac/ticket/36>): | ||||
| o Move "Product Tokens" section (back) into Part 1, as "token" is | ||||
| used in the definition of the Upgrade header. | ||||
| o Add explicit references to BNF syntax and rules imported from | ||||
| other parts of the specification. | ||||
| o Copy definition of delta-seconds from Part6 instead of referencing | ||||
| it. | ||||
| Index | Index | |||
| 1 | 1 | |||
| 100 Continue (status code) 17 | 100 Continue (status code) 18 | |||
| 101 Switching Protocols (status code) 18 | 101 Switching Protocols (status code) 19 | |||
| 2 | 2 | |||
| 200 OK (status code) 18 | 200 OK (status code) 19 | |||
| 201 Created (status code) 18 | 201 Created (status code) 19 | |||
| 202 Accepted (status code) 19 | 202 Accepted (status code) 20 | |||
| 203 Non-Authoritative Information (status code) 19 | 203 Non-Authoritative Information (status code) 20 | |||
| 204 No Content (status code) 19 | 204 No Content (status code) 20 | |||
| 205 Reset Content (status code) 20 | 205 Reset Content (status code) 21 | |||
| 206 Partial Content (status code) 20 | 206 Partial Content (status code) 21 | |||
| 3 | 3 | |||
| 300 Multiple Choices (status code) 20 | 300 Multiple Choices (status code) 21 | |||
| 301 Moved Permanently (status code) 21 | 301 Moved Permanently (status code) 22 | |||
| 302 Found (status code) 21 | 302 Found (status code) 22 | |||
| 303 See Other (status code) 22 | 303 See Other (status code) 23 | |||
| 304 Not Modified (status code) 22 | 304 Not Modified (status code) 23 | |||
| 305 Use Proxy (status code) 22 | 305 Use Proxy (status code) 23 | |||
| 306 (Unused) (status code) 23 | 306 (Unused) (status code) 24 | |||
| 307 Temporary Redirect (status code) 23 | 307 Temporary Redirect (status code) 24 | |||
| 4 | 4 | |||
| 400 Bad Request (status code) 24 | 400 Bad Request (status code) 25 | |||
| 401 Unauthorized (status code) 24 | 401 Unauthorized (status code) 25 | |||
| 402 Payment Required (status code) 24 | 402 Payment Required (status code) 25 | |||
| 403 Forbidden (status code) 24 | 403 Forbidden (status code) 25 | |||
| 404 Not Found (status code) 24 | 404 Not Found (status code) 25 | |||
| 405 Method Not Allowed (status code) 24 | 405 Method Not Allowed (status code) 25 | |||
| 406 Not Acceptable (status code) 24 | 406 Not Acceptable (status code) 25 | |||
| 407 Proxy Authentication Required (status code) 25 | 407 Proxy Authentication Required (status code) 26 | |||
| 408 Request Timeout (status code) 25 | 408 Request Timeout (status code) 26 | |||
| 409 Conflict (status code) 25 | 409 Conflict (status code) 26 | |||
| 410 Gone (status code) 26 | 410 Gone (status code) 27 | |||
| 411 Length Required (status code) 26 | 411 Length Required (status code) 27 | |||
| 412 Precondition Failed (status code) 26 | 412 Precondition Failed (status code) 27 | |||
| 413 Request Entity Too Large (status code) 26 | 413 Request Entity Too Large (status code) 27 | |||
| 414 Request-URI Too Long (status code) 27 | 414 Request-URI Too Long (status code) 28 | |||
| 415 Unsupported Media Type (status code) 27 | 415 Unsupported Media Type (status code) 28 | |||
| 416 Requested Range Not Satisfiable (status code) 27 | 416 Requested Range Not Satisfiable (status code) 28 | |||
| 417 Expectation Failed (status code) 27 | 417 Expectation Failed (status code) 28 | |||
| 5 | 5 | |||
| 500 Internal Server Error (status code) 27 | 500 Internal Server Error (status code) 28 | |||
| 501 Not Implemented (status code) 28 | 501 Not Implemented (status code) 29 | |||
| 502 Bad Gateway (status code) 28 | 502 Bad Gateway (status code) 29 | |||
| 503 Service Unavailable (status code) 28 | 503 Service Unavailable (status code) 29 | |||
| 504 Gateway Timeout (status code) 28 | 504 Gateway Timeout (status code) 29 | |||
| 505 HTTP Version Not Supported (status code) 28 | 505 HTTP Version Not Supported (status code) 29 | |||
| A | A | |||
| Allow header 29 | Allow header 30 | |||
| C | C | |||
| CONNECT method 17 | CONNECT method 18 | |||
| D | D | |||
| DELETE method 16 | DELETE method 17 | |||
| E | E | |||
| Expect header 29 | Expect header 30 | |||
| F | F | |||
| From header 30 | From header 31 | |||
| G | G | |||
| GET method 13 | GET method 14 | |||
| Grammar | Grammar | |||
| Allow 29 | Allow 30 | |||
| Expect 29 | delta-seconds 34 | |||
| expect-params 29 | Expect 30 | |||
| expectation 29 | expect-params 30 | |||
| expectation-extension 29 | expectation 30 | |||
| extension-code 9 | expectation-extension 30 | |||
| extension-method 7 | extension-code 10 | |||
| From 30 | extension-method 8 | |||
| Location 31 | From 31 | |||
| Max-Forwards 32 | Location 32 | |||
| Method 7 | Max-Forwards 33 | |||
| product 6 | Method 8 | |||
| product-version 6 | Reason-Phrase 10 | |||
| Reason-Phrase 9 | Referer 33 | |||
| Referer 32 | request-header 9 | |||
| request-header 8 | response-header 11 | |||
| response-header 10 | Retry-After 34 | |||
| Retry-After 33 | Server 34 | |||
| Server 33 | Status-Code 10 | |||
| Status-Code 9 | User-Agent 35 | |||
| User-Agent 34 | ||||
| H | H | |||
| HEAD method 13 | HEAD method 14 | |||
| Headers | Headers | |||
| Allow 29 | Allow 30 | |||
| Expect 29 | Expect 30 | |||
| From 30 | From 31 | |||
| Location 31 | Location 32 | |||
| Max-Forwards 32 | Max-Forwards 33 | |||
| Referer 32 | Referer 33 | |||
| Retry-After 33 | Retry-After 34 | |||
| Server 33 | Server 34 | |||
| User-Agent 34 | User-Agent 35 | |||
| L | L | |||
| LINK method 38 | LINK method 39 | |||
| Location header 31 | Location header 32 | |||
| M | M | |||
| Max-Forwards header 32 | Max-Forwards header 33 | |||
| Methods | Methods | |||
| CONNECT 17 | CONNECT 18 | |||
| DELETE 16 | DELETE 17 | |||
| GET 13 | GET 14 | |||
| HEAD 13 | HEAD 14 | |||
| LINK 38 | LINK 39 | |||
| OPTIONS 12 | OPTIONS 13 | |||
| PATCH 38 | PATCH 39 | |||
| POST 14 | POST 15 | |||
| PUT 15 | PUT 16 | |||
| TRACE 16 | TRACE 17 | |||
| UNLINK 38 | UNLINK 39 | |||
| O | O | |||
| OPTIONS method 12 | OPTIONS method 13 | |||
| P | P | |||
| PATCH method 38 | PATCH method 39 | |||
| POST method 14 | POST method 15 | |||
| PUT method 15 | PUT method 16 | |||
| R | R | |||
| Referer header 32 | Referer header 33 | |||
| Retry-After header 33 | Retry-After header 34 | |||
| S | S | |||
| Server header 33 | Server header 34 | |||
| Status Codes | Status Codes | |||
| 100 Continue 17 | 100 Continue 18 | |||
| 101 Switching Protocols 18 | 101 Switching Protocols 19 | |||
| 200 OK 18 | 200 OK 19 | |||
| 201 Created 18 | 201 Created 19 | |||
| 202 Accepted 19 | 202 Accepted 20 | |||
| 203 Non-Authoritative Information 19 | 203 Non-Authoritative Information 20 | |||
| 204 No Content 19 | 204 No Content 20 | |||
| 205 Reset Content 20 | 205 Reset Content 21 | |||
| 206 Partial Content 20 | 206 Partial Content 21 | |||
| 300 Multiple Choices 20 | 300 Multiple Choices 21 | |||
| 301 Moved Permanently 21 | 301 Moved Permanently 22 | |||
| 302 Found 21 | 302 Found 22 | |||
| 303 See Other 22 | 303 See Other 23 | |||
| 304 Not Modified 22 | 304 Not Modified 23 | |||
| 305 Use Proxy 22 | 305 Use Proxy 23 | |||
| 306 (Unused) 23 | 306 (Unused) 24 | |||
| 307 Temporary Redirect 23 | 307 Temporary Redirect 24 | |||
| 400 Bad Request 24 | 400 Bad Request 25 | |||
| 401 Unauthorized 24 | 401 Unauthorized 25 | |||
| 402 Payment Required 24 | 402 Payment Required 25 | |||
| 403 Forbidden 24 | 403 Forbidden 25 | |||
| 404 Not Found 24 | 404 Not Found 25 | |||
| 405 Method Not Allowed 24 | 405 Method Not Allowed 25 | |||
| 406 Not Acceptable 24 | 406 Not Acceptable 25 | |||
| 407 Proxy Authentication Required 25 | 407 Proxy Authentication Required 26 | |||
| 408 Request Timeout 25 | 408 Request Timeout 26 | |||
| 409 Conflict 25 | 409 Conflict 26 | |||
| 410 Gone 26 | 410 Gone 27 | |||
| 411 Length Required 26 | 411 Length Required 27 | |||
| 412 Precondition Failed 26 | 412 Precondition Failed 27 | |||
| 413 Request Entity Too Large 26 | 413 Request Entity Too Large 27 | |||
| 414 Request-URI Too Long 27 | 414 Request-URI Too Long 28 | |||
| 415 Unsupported Media Type 27 | 415 Unsupported Media Type 28 | |||
| 416 Requested Range Not Satisfiable 27 | 416 Requested Range Not Satisfiable 28 | |||
| 417 Expectation Failed 27 | 417 Expectation Failed 28 | |||
| 500 Internal Server Error 27 | 500 Internal Server Error 28 | |||
| 501 Not Implemented 28 | 501 Not Implemented 29 | |||
| 502 Bad Gateway 28 | 502 Bad Gateway 29 | |||
| 503 Service Unavailable 28 | 503 Service Unavailable 29 | |||
| 504 Gateway Timeout 28 | 504 Gateway Timeout 29 | |||
| 505 HTTP Version Not Supported 28 | 505 HTTP Version Not Supported 29 | |||
| T | T | |||
| TRACE method 16 | TRACE method 17 | |||
| U | U | |||
| UNLINK method 38 | UNLINK method 39 | |||
| User-Agent header 34 | User-Agent header 35 | |||
| Authors' Addresses | Authors' Addresses | |||
| Roy T. Fielding (editor) | Roy T. Fielding (editor) | |||
| Day Software | Day Software | |||
| 23 Corporate Plaza DR, Suite 280 | 23 Corporate Plaza DR, Suite 280 | |||
| Newport Beach, CA 92660 | Newport Beach, CA 92660 | |||
| USA | USA | |||
| Phone: +1-949-706-5300 | Phone: +1-949-706-5300 | |||
| End of changes. 65 change blocks. | ||||
| 323 lines changed or deleted | 378 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||