datatracker.ietf.org
Sign in
Version 5.3.0, 2014-04-12
Report a bug

Additional HTTP Status Codes
RFC 6585

Document type: RFC - Proposed Standard (April 2012)
Updates RFC 2616
Was draft-nottingham-http-new-status (individual in app area)
Document stream: IETF
Last updated: 2013-02-12
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 6585 (Proposed Standard)
Responsible AD: Barry Leiba
Send notices to: mnot@pobox.com, fielding@gbiv.com, draft-nottingham-http-new-status@tools.ietf.org, stpeter@stpeter.im

Internet Engineering Task Force (IETF)                     M. Nottingham
Request for Comments: 6585                                     Rackspace
Updates: 2616                                                R. Fielding
Category: Standards Track                                          Adobe
ISSN: 2070-1721                                               April 2012

                      Additional HTTP Status Codes

Abstract

   This document specifies additional HyperText Transfer Protocol (HTTP)
   status codes for a variety of common situations.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc6585.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Nottingham & Fielding        Standards Track                    [Page 1]
RFC 6585              Additional HTTP Status Codes            April 2012

Table of Contents

   1. Introduction ....................................................2
   2. Requirements ....................................................2
   3. 428 Precondition Required .......................................2
   4. 429 Too Many Requests ...........................................3
   5. 431 Request Header Fields Too Large .............................4
   6. 511 Network Authentication Required .............................4
   7. Security Considerations .........................................6
   8. IANA Considerations .............................................7
   9. References ......................................................7
   Appendix A. Acknowledgements .......................................9
   Appendix B. Issues Raised by Captive Portals .......................9

1.  Introduction

   This document specifies additional HTTP [RFC2616] status codes for a
   variety of common situations, to improve interoperability and avoid
   confusion when other, less precise status codes are used.

   Note that these status codes are optional; servers cannot be required
   to support them.  However, because clients will treat unknown status
   codes as a generic error of the same class (e.g., 499 is treated as
   400 if it is not recognized), they can be safely deployed by existing
   servers (see [RFC2616] Section 6.1.1 for more information).

2.  Requirements

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

3.  428 Precondition Required

   The 428 status code indicates that the origin server requires the
   request to be conditional.

   Its typical use is to avoid the "lost update" problem, where a client
   GETs a resource's state, modifies it, and PUTs it back to the server,
   when meanwhile a third party has modified the state on the server,
   leading to a conflict.  By requiring requests to be conditional, the
   server can assure that clients are working with the correct copies.

   Responses using this status code SHOULD explain how to resubmit the
   request successfully.  For example:

   HTTP/1.1 428 Precondition Required
   Content-Type: text/html

Nottingham & Fielding        Standards Track                    [Page 2]
RFC 6585              Additional HTTP Status Codes            April 2012

   <html>
      <head>
         <title>Precondition Required</title>
      </head>
      <body>
         <h1>Precondition Required</h1>

[include full document text]