我正在檢查此站點使用的http protcol http://www.dlf.in/ Chrome開發人員工具將其顯示爲http/1.1,如下圖所示。鉻開發人員工具顯示的不正確的http協議?
但是命令行工具is-http2或python中的alpn好象表示http/1.1不可用。只有http1可用。這裏發生了什麼?
我做在Python中ALPN協商如下(OpenSSL的版本:OpenSSL的1.0.2h和Python 3.5.1版)
import ssl
import socket
port = 443
domain = 'www.dlf.in'
ctx = ssl.create_default_context()
ctx.set_alpn_protocols(['h2', 'spdy/3.1', 'spdy/3', 'spdy/2', 'http/1.1'])
conn = ctx.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM),
server_hostname=domain)
conn.connect((domain, port))
print(conn.selected_alpn_protocol())
我想知道爲什麼鉻說它支持http/1.1 –
我以爲你問爲什麼不是HTTP2。以上代碼適用於HTTPS(443),因此不在本站點上(僅使用HTTP - 端口80)。它也說它是由IIS而不是Python支持的。而IIS絕對支持HTTP/1.1 - 現在所有的Web服務器現在都有一天。至於爲什麼你的工具不是說我不知道,因爲你在這裏給出的細節很少。目前它真的很不清楚你在問什麼,好像你不知道你的系統是如何設置的! –