New issue
Advanced search Search tips

Issue 825232 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug

Blocking:
issue 801564



Sign in to add a comment

Developer tools reports incorrect request method for WebSocket over HTTP/2

Project Member Reported by b...@chromium.org, Mar 23 2018

Issue description

WebSocket over HTTP/2 uses CONNECT method, but Developer tools Network tab Headers subtab incorrectly reports GET as method.  The underlying reason is that higher layers prepare the request headers with GET method, and it is at  WebSocketHttp2HandshakeStream::SendRequest() that the HTTP/2 headers are prepared (via CreateSpdyHeadersFromHttpRequestForWebSocket).
 

Comment 1 by b...@chromium.org, Mar 23 2018

Blocking: 801564

Comment 2 by b...@chromium.org, Mar 23 2018

Status: Assigned (was: Started)
Also, protocol should be displayed as HTTP/2.

Example information currently showed by DevTools for a WebSocket over HTTP/2:

General
  Request URL: wss://nghttp2.org/echo
  Request Method: GET
  Status Code: 200
Response Headers
  HTTP/1.1 200
  status:200
  x-backend-header-rtt:0.001537
  strict-transport-security:max-age=31536000
  server:nghttpx
  via:1.1 nghttpx
  x-frame-options:SAMEORIGIN
  x-xss-protection:1; mode=block
  x-content-type-options:nosniff
Request Headers
  GET wss://nghttp2.org/echo HTTP/1.1
  Host: nghttp2.org
  Connection: Upgrade
  Pragma: no-cache
  Cache-Control: no-cache
  Upgrade: websocket
  Origin: https://nghttp2.org
  Sec-WebSocket-Version: 13
  User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3377.1 Safari/537.36
  Accept-Encoding: gzip, deflate, br
  Accept-Language: en-US,en;q=0.9,hu;q=0.8
  Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

Response status 200 is correct, because that is extracted from actual response headers.  However, request method and HTTP version (listed twice) are incorrect.
Owner: jarhar@chromium.org

Sign in to add a comment