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]