The following are the HTTP errors listed in RFC2068, plus the
functionality suggested by Keith.
I have put a mark in column 1 to denote:
x should be in IPP Version 1.0
f may be in a future version, so don't reuse error code
i new concept for IPP not in HTTP (I started these error codes at x51)
<blank> HTTP codes that IPP probably doesn't need, but I don't
suggest reusing them.
I have put a k in column 2 if it was on Keith's list, and I have
put Keith's error number next to the k so you can see the similarities.
Informational 1xx
f 100 Continue
f 101 Switching Protocols
Successful 2xx
xk000 200 OK
x 201 Created (for CreateJob instead of 200)
f 202 Accepted
203 Non-Authoritative Information
x 204 No Content (no entity body returned, e.g. with CancelJob)
205 Reset Content
206 Partial Content
ik001 251 OK Attribute Substitution/Attribute Ignored
Tom suggested splitting these two. I disagree because both
errors may occur in the same job. Details, if any, could
be in the application/IPP entity body.
We could also remove this error and put such information in
the entity body and then use the 201 status code.
Redirection 3xx
300 Multiple Choices
f 301 Moved Permanently
f 302 Moved Temporarily
303 See Other
f 304 Not Modified
305 Use Proxy
Client Error 4xx
xk100 400 Bad Request
xk101 401 Unauthorized
xk102 402 Payment Required
xk103 403 Forbidden
xk106 404 Not Found
xk104 405 Method Not Allowed
k105 ? I don't think that a server should distiguish between "Forbidden"
and "Operation Not Authorized". Generally security people
don't like to be very specific about why a person was
disallowed.
x 406 Not Acceptable
407 Proxy Authentication Required
f 408 Request Timeout
409 Conflict
xk107 410 Gone
x 411 Length Required
412 Precondition Failed
x 413 Request Entity Too Large
x 414 Request-URI Too Long
415 Unsupported Media Type
ik109 451 Attribute Not Implemented/Attribute Value Not Supported
Tom suggested splitting these two. I disagree because both
errors may occur in the same job. Details, if any, could
be in the application/IPP entity body.
Server Error 5xx
xk200 500 Internal Server Error
xk203 501 Not Implemented
502 Bad Gateway
xk201 503 Service Unavailable
504 Gateway Timeout
xk202 505 HTTP Version Not Supported
k204 551 Printer Error
k300 I don't understand how the protocol generates what seems to
be a client connection problem