HTTP代理和HTTPS代理的工作流程有什么不同?

作者:IPIDEA

2022-10-10 16:47:24

一.在Http大部分时代都是走的RFC7230中描述的普通代理。这种代理扮演“中间人”角色是连接到客户端的服务端;对于要连接的服务端,它是客户端。它负责在两端之间来回传输HTTP报文。它的过程是:

HTTP代理和HTTPS代理的工作流程有什么不同?

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提供的服务必须在境外网络环境下使用

热门资讯