浏览器(例如 FF)何时发送 CONNET 方法而不是客户端问候?
When does the browser, e.g., FF, send a CONNET method instead of client hello?
在 HTTP CONNECT 隧道中(参考 http://en.wikipedia.org/wiki/HTTP_tunnel),client/browser 发送 CONNET 方法请求 而不是 客户端hello 与直接 https 连接一样。
我的问题是,如果我在客户端和目标服务器之间放置一个简单的端口转发器,我是否可以强制浏览器仍然发送客户端问候?或者是什么让浏览器知道它应该发送 CONNECT 方法请求 而不是 client hello 当两者之间有 HTTP 代理时?
sends a CONNET method request instead of a client hello
没有。它首先发送 CONNECT 让代理建立到原始服务器的隧道。建立隧道后,正常的 SSL 握手就完成了,即
使用 CONNECT(即代理)
--- connect to proxy
>> CONNECT sslhost:port HTTP/1.0
<< HTTP/1.0 200 Connection established
--- everything from now own is transferred by the proxy to/from the target host
>> SSLClientHello
<< SSLServerHello
....
没有 CONNECT(没有代理)
--- direct connection to sslhost:port
>> SSLClientHello
<< SSLServerHello
....
在 HTTP CONNECT 隧道中(参考 http://en.wikipedia.org/wiki/HTTP_tunnel),client/browser 发送 CONNET 方法请求 而不是 客户端hello 与直接 https 连接一样。
我的问题是,如果我在客户端和目标服务器之间放置一个简单的端口转发器,我是否可以强制浏览器仍然发送客户端问候?或者是什么让浏览器知道它应该发送 CONNECT 方法请求 而不是 client hello 当两者之间有 HTTP 代理时?
sends a CONNET method request instead of a client hello
没有。它首先发送 CONNECT 让代理建立到原始服务器的隧道。建立隧道后,正常的 SSL 握手就完成了,即
使用 CONNECT(即代理)
--- connect to proxy
>> CONNECT sslhost:port HTTP/1.0
<< HTTP/1.0 200 Connection established
--- everything from now own is transferred by the proxy to/from the target host
>> SSLClientHello
<< SSLServerHello
....
没有 CONNECT(没有代理)
--- direct connection to sslhost:port
>> SSLClientHello
<< SSLServerHello
....