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]