Internet Engineering Task Force                                  HTTP WG
Internet Draft                                            H. Schulzrinne
schulzrinne-http-status-00.txt                               Columbia U.
July 30, 1997
Expires: January 1, 1998


     Assignment of Status Codes for HTTP and HTTP-Derived Protocols

STATUS OF THIS MEMO

   This document is an Internet-Draft. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as ``work in progress''.

   To learn the current status of any Internet-Draft, please check the
   ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe),
   munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or
   ftp.isi.edu (US West Coast).

   Distribution of this document is unlimited.

                                 ABSTRACT


         A number of other protocols may make use of HTTP syntax
         and facilities; this memo defines a mechanism for IANA to
         allocate status codes.

1 Status Codes

   HTTP status codes are defined in RFC 2068 [1], Section 10.  Other
   protocols that share HTTP syntax and standard status codes may need
   to add additional status codes. In addition, implementors may want to
   define new status codes for HTTP in an interoperable manner. This
   memo establishes a mechanism that charges the Internet Assigned
   Numbers Authority (IANA) to manage the HTTP status code space under
   the heading "Status codes for HTTP and HTTP-derived protocols".

   We use the notation "x00--x49" to indicate status codes having any
   digit as their first digit and the two-digit numbers zero through 49



H. Schulzrinne                                                [Page 1]


Internet Draft                    sip                      July 30, 1997


   as their second and third digits. Examples include the range 400
   through 449.

   IANA manages the status codes of "HTTP and HTTP-derived protocols"
   under the following guidelines:

        o Status codes x00 through x49 are reserved for general use of
         HTTP and defined in HTTP-related RFCs or through registration
         with IANA, in consultation with the HTTP working group, if
         available, or the IETF Applications Area director.

        o IANA may be asked by authors of IETF standards-track protocols
         to assign blocks of five or ten consecutive status codes across
         all first digits. Each such protocol must use the same range
         across all first digits.

        o Due to the limited per-protocl space, private extensions
         SHOULD be registered through the protocol number space, with
         IANA soliciting after advice and consultation with the working
         group "owning" the protocol.  If there is no working group, the
         area director is to be consulted.

        o Any extension that is not part of a standards-track protocol
         must be documented as an RFC within one year of assignment.
         Otherwise, the assigned number reverts to general use.

        o HTTP uses the first digits 1 through 5, inclusive. Protocols
         other than HTTP may use first digits other than these if they
         define classes of status codes that do not map into the
         following classification:

        1xx: This class of status code indicates a provisional response,
         typically indicating progress in serving the request. The
         server will deliver another final response.

        2xx: This class of status code indicates that the client's
         request was successfully received, understood, and accepted.

        3xx: This class of status code indicates that further action
         needs to be taken by the user agent in order to fulfill the
         request. The response provides indication as to what actions
         the client may take, including contacting another server.

        4xx: The 4xx class of status code is intended for cases in which
         the client seems to have erred. The client should not issue the
         same request again. (However, a similar request for the same
         resource may be issued after adding additional information, for
         example, authorization or payment information.) The condition



H. Schulzrinne                                                [Page 2]


Internet Draft                    sip                      July 30, 1997


         reported may be temporary or permanent.

        5xx: Response status codes beginning with the digit "5" indicate
         cases in which the server is aware that it has erred or is
         incapable of performing the request.

2 Alternatives

   It has been suggsted to use four-digit status codes, with the first
   digit indicating the protocol, with 0 implied and reserved for HTTP.
   (It is advantageous to maintain the significance of the digit
   position so that status code / 100 yields the class and status code %
   100 the sub-code.)

3 Author's Address

   Henning Schulzrinne
   Columbia University
   1214 Amsterdam Avenue
   New York, MY 10027
   USA
   electronic mail:  schulzrinne@cs.columbia.edu

4 Bibliography

   [1] R. Fielding, J. Gettys, J. Mogul, H. Frystyk, and T. Berners-Lee,
   "Hypertext transfer protocol -- HTTP/1.1,"  RFC 2068, Internet
   Engineering Task Force, Jan. 1997.























H. Schulzrinne                                                [Page 3]