HTTP代理和HTTPS代理的工作流程有什么不同?
2022-10-10
一.在Http大部分时代都是走的RFC7230中描述的普通代理。这种代理扮演“中间人”角色是连接到客户端的服务端;对于要连接的服务端,它是客户端。它负责在两端之间来回传输HTTP报文。它的过程是:
1.客户浏览器将要求原封不动地发送给代理服务器
2.代理服务器从HttpHeader获取目标的主机地址将请求发送给目标主机
3.目标主机将响应返回代理服务器
4.代理服务器将响应返回客户浏览器。
HTTP代理
代理服务器是客户端浏览器的目标web服务器。
对于web就服务器而言,它将代理作为客户端,完全无法察觉到真正客户端的存在。
这种代理服务器的实现相对简单,基本上是原封不动的传输,主要是第二步,需要从header识别目标主机地址。
二.到了Https时代,这种方式有问题。代理服务器是一个web影响客户端和服务器的服务器TLS加密连接。此时主要使用RFC通过中定义Web代理服务器通过隧道传输TCP隧道代理协议的主要流程如下:
首先发送浏览器HttpConnect请求向代理服务器发送目标主机信息。
2.建立代理服务器和目标主机tcp链接并回应浏览器ConnectionEstablished应答。
3.浏览器将目标主机发送请求。
4.目标主机将响应回到代理服务器,代理服务器将响应回到浏览器。
HTTPS代理
和Sock5.代理协议非常相似,代理服务器完全是一个传输管道。只是通过http协商建立管道。连接建立后,代理服务器只起转发的作用,理论上也适用于转发其他服务器TCP协议。
声明:本文来自网络投稿,不代表IPIDEA立场,若存在侵权、安全合规问题,请及时联系IPIDEA进行删除。