浅谈HTTP代理和HTTPS代理

浅谈HTTP代理和HTTPS代理!讨论Http代理和HTTPS代理的工作职责的区别。第一,在HTTP阶段,大部分都是RFC7230中描述的通用代理。这种代理人扮演着“中间人”游戏的角色。对于与之连接的客户端,是服务器端;对于要连接的服务器,它是客户端。
 
 
负责双方中间来回传输HTTP消息的格式。其过程如下:
 
1.客户端浏览器将请求原封不动地发送到ip代理服务器。
 
2.ip代理服务器从HttpHeader获取目标的主机地址,并将请求发送到目标服务器。
 
3.目标服务器将回复发送回ip代理服务器。
 
4.ip代理服务器将回复发送回客户端浏览器。对于客户端浏览器,ip代理服务器是目标web服务器。就web服务器而言,它会以代理为客户端,根本找不到真正的客户端。这种ip代理服务器比较简单,大部分都是原封不动的透明传输,主要是第二步,所以一定要从头部识别目标主机地址。
 
第二,到了Https阶段,这种方法就不好了。ip代理服务器是一个web服务器,它破坏了客户端的TLS数据库和Internet服务器之间的加密连接。这时候使用RFC中定义的隧道构建代理模式就很重要了,它是基于Webip代理服务器,使用隧道构建模式按照TCP传输契约。
 
其关键因素是:
 
1.浏览器开始,消息推送HttpConnect到ip代理服务器,消息推送目标服务器信息。
 
2.ip代理服务器与目标服务器建立tcp链接,并向浏览器响应连接建立响应。
 
3.浏览器将请求发送到ip代理服务器,ip代理服务器将请求传输到目标服务器。
 
4.目标服务器会回复ip代理服务器,ip代理服务器会回复浏览器。在这种方式下,很像Sock5等代理合同,ip代理服务器完全是透明管道。只是建立了一个基于http契约的管道。连接建立后,ip代理服务器只起到共享的作用。理论上,它还可以共享其他TCP契约。