http服务器代理http的两种方式

  当http服务器在代理http请求的时候,会涉及到http包的拆包。接触的技术都知道,有一些http的标头,诸如cache-control之类的。可以在里面定义一些值给代理服务器看,某种必须重新验证一种。

http服务器代理http的两种方式

  但是,http服务器还有一种方式可以代理http请求。

  大家有没有想过,为什么https也可以http代理服务器,ssh也可以走http服务器。番茄加速告诉大家是因为在这种情况下,http代理服务器的作用就已经不再是http服务器了,而不变为一个tcp转发服务器。随之,任何流经这个服务器的请求,http代理服务器都不进行干扰,只是单纯地转发tcp流量。

  在请求https时,首先客户端会发送一个connect(与get post put一样的分段)请求到http proxy,建立一个tcp连接。之后当https请求发出的时候,通过这个tcp连接可以目标网站。目标网站的响应也同样是这么返回。

  默认情况下,当http proxy在代理http请求时,走的是拆包的那种方式,不是tunnel的方式。

  而我们实际上,也可以先与http proxy建立tunnel,之后再通过这个Tunnel重定向tcp尺度的数据来访问http协议的网站。这样就不会被proxy上的一些设置干扰了。