- From: Kari Hurtta <hurtta-ietf@elmme-mailer.org>
- Date: Sun, 2 Oct 2016 14:10:32 +0300 (EEST)
- To: Ilari Liusvaara <ilariliusvaara@welho.com>
- CC: Kari hurtta <hurtta-ietf@elmme-mailer.org>, Van Catha <vans554@gmail.com>, HTTP working group mailing list <ietf-http-wg@w3.org>
Ilari Liusvaara <ilariliusvaara@welho.com>: (Sun Oct 2 13:15:48 2016) > On Sun, Oct 02, 2016 at 11:00:29AM +0300, Kari hurtta wrote: > > > > (A,B) Is there http error code which tells that > > that it was unsuppoted :scheme (and not other > > error, for example wrong :path) ? > > > > That is needed that client (A) orPbroxy (B) can > > switch Websocket (RFC 6455) negotated over > > HTTP/1.1 > > I don't think there is (and that's a part of the problem) with current > scheme handling. > > There are probably quite a bit of servers that just plain ignore the > scheme in request. Hmm. Was reason why https://tools.ietf.org/html/draft-hirano-httpbis-websocket-over-http2-01 used SETTINGS frame with SETTINGS_WEBSOCKET_CAPABLE parameter ? Seems not mention that reason. That means that server needs send SETTINGS_WEBSOCKET_CAPABLE = 1 to client indicating that server handles :scheme = ws ( and on that draft SETTINGS_WEBSOCKET_CAPABLE = 1 was sent from client to server. ) Hypertext Transfer Protocol (HTTP) Status Code Registry http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml gives ---------------------------------------------- Value Description Reference 100 Continue [RFC7231, Section 6.2.1] 101 Switching Protocols [RFC7231, Section 6.2.2] 102 Processing [RFC2518] 103-199 Unassigned 200 OK [RFC7231, Section 6.3.1] 201 Created [RFC7231, Section 6.3.2] 202 Accepted [RFC7231, Section 6.3.3] 203 Non-Authoritative Information [RFC7231, Section 6.3.4] 204 No Content [RFC7231, Section 6.3.5] 205 Reset Content [RFC7231, Section 6.3.6] 206 Partial Content [RFC7233, Section 4.1] 207 Multi-Status [RFC4918] 208 Already Reported [RFC5842] 209-225 Unassigned 226 IM Used [RFC3229] 227-299 Unassigned 300 Multiple Choices [RFC7231, Section 6.4.1] 301 Moved Permanently [RFC7231, Section 6.4.2] 302 Found [RFC7231, Section 6.4.3] 303 See Other [RFC7231, Section 6.4.4] 304 Not Modified [RFC7232, Section 4.1] 305 Use Proxy [RFC7231, Section 6.4.5] 306 (Unused) [RFC7231, Section 6.4.6] 307 Temporary Redirect [RFC7231, Section 6.4.7] 308 Permanent Redirect [RFC7538] 309-399 Unassigned 400 Bad Request [RFC7231, Section 6.5.1] 401 Unauthorized [RFC7235, Section 3.1] 402 Payment Required [RFC7231, Section 6.5.2] 403 Forbidden [RFC7231, Section 6.5.3] 404 Not Found [RFC7231, Section 6.5.4] 405 Method Not Allowed [RFC7231, Section 6.5.5] 406 Not Acceptable [RFC7231, Section 6.5.6] 407 Proxy Authentication Required [RFC7235, Section 3.2] 408 Request Timeout [RFC7231, Section 6.5.7] 409 Conflict [RFC7231, Section 6.5.8] 410 Gone [RFC7231, Section 6.5.9] 411 Length Required [RFC7231, Section 6.5.10] 412 Precondition Failed [RFC7232, Section 4.2] 413 Payload Too Large [RFC7231, Section 6.5.11] 414 URI Too Long [RFC7231, Section 6.5.12] 415 Unsupported Media Type [RFC7231, Section 6.5.13][RFC7694, Section 3] 416 Range Not Satisfiable [RFC7233, Section 4.4] 417 Expectation Failed [RFC7231, Section 6.5.14] 418-420 Unassigned 421 Misdirected Request [RFC7540, Section 9.1.2] 422 Unprocessable Entity [RFC4918] 423 Locked [RFC4918] 424 Failed Dependency [RFC4918] 425 Unassigned 426 Upgrade Required [RFC7231, Section 6.5.15] 427 Unassigned 428 Precondition Required [RFC6585] 429 Too Many Requests [RFC6585] 430 Unassigned 431 Request Header Fields Too Large [RFC6585] 432-450 Unassigned 451 Unavailable For Legal Reasons [RFC7725] 452-499 Unassigned 500 Internal Server Error [RFC7231, Section 6.6.1] 501 Not Implemented [RFC7231, Section 6.6.2] 502 Bad Gateway [RFC7231, Section 6.6.3] 503 Service Unavailable [RFC7231, Section 6.6.4] 504 Gateway Timeout [RFC7231, Section 6.6.5] 505 HTTP Version Not Supported [RFC7231, Section 6.6.6] 506 Variant Also Negotiates [RFC2295] 507 Insufficient Storage [RFC4918] 508 Loop Detected [RFC5842] 509 Unassigned 510 Not Extended [RFC2774] 511 Network Authentication Required [RFC6585] 512-599 Unassigned ---------------------- :status = 501 is probably that what should be expected with unsupported :scheme ( and HTTP/2 Error Code registry http://www.iana.org/assignments/http2-parameters/http2-parameters.xhtml#error-code gives Code Name Description Reference 0x0 NO_ERROR Graceful shutdown [RFC7540, Section 7] 0x1 PROTOCOL_ERROR Protocol error detected [RFC7540, Section 7] 0x2 INTERNAL_ERROR Implementation fault [RFC7540, Section 7] 0x3 FLOW_CONTROL_ERROR Flow-control limits exceeded [RFC7540, Section 7] 0x4 SETTINGS_TIMEOUT Settings not acknowledged [RFC7540, Section 7] 0x5 STREAM_CLOSED Frame received for closed stream [RFC7540, Section 7] 0x6 FRAME_SIZE_ERROR Frame size incorrect [RFC7540, Section 7] 0x7 REFUSED_STREAM Stream not processed [RFC7540, Section 7] 0x8 CANCEL Stream cancelled [RFC7540, Section 7] 0x9 COMPRESSION_ERROR Compression state not updated [RFC7540, Section 7] 0xa CONNECT_ERROR TCP connection error for CONNECT method [RFC7540, Section 7] 0xb ENHANCE_YOUR_CALM Processing capacity exceeded [RFC7540, Section 7] 0xc INADEQUATE_SECURITY Negotiated TLS parameters not acceptable [RFC7540, Section 7] 0xd HTTP_1_1_REQUIRED Use HTTP/1.1 for the request [RFC7540, Section 7] 0xe-0xffffffff Unassigned but unknown :scheme is not HTTP/2 error anyway. ) > -Ilari / Kari Hurtta
Received on Sunday, 2 October 2016 11:11:04 UTC