网络代理入门了解

em…来自面试被问到的问题 了解一丢丢但是无法正确表达描述使我哭泣

代理服务器

代理服务器(Proxy Server)就是代理网络用户获取网络信息。代理服务器是介于浏览器和Web服务器之间的一台服务器。
实现模型.png

网络代理分类

HTTP 代理

HTTP代理基础知识
常用方式:浏览网页、下载数据

普通代理

基于HTTP请求实现

HTTP 客户端向代理发送请求报文,代理服务器需要正确地处理请求和连接(例如正确处理 Connection: keep-alive),同时向服务器发送请求,并将收到的响应转发给客户端。

HTTP代理.png

隧道代理

基于CONNECT方法实现

HTTP 客户端通过CONNECT方法请求建立隧道。CONNECT方法请求代理代表它建立一个TCP连接通道,并对客户端和服务器之间的后继数据进行盲转发。请求URI部分指明请求连接的目的主机和端口。

隧道代理.png

SOCKS 代理

采用 socks 协议的代理服务器就是 socks 服务器,是一种通用代理服务器。socks 代理也称“全能代理”,就像有很多跳线的转接板,它只是简单地将一端的系统连接到另外一端,并且支持多种协议。
socks 代理只简单传送数据包,不关心使用的协议,因此 socks 代理比其他应用层代理速度快的多。

  • socks 4
    只支持 TCP 协议
  • socks 5
    支持 TCP 和 UDP 协议

常用方式:聊天软件(微信、QQ)

VPN 代理

VPN代理是前端计算机VPN服务器之间的点对点连接,在连接成功后建立一个虚拟专用隧道。前端将原本要发送给目标服务器的请求通过隧道发送给VPN代理服务器,然后VPN代理服务器再将请求转发给目标服务器。VPN代理服务器在将通讯请求发送给目标服务器的过程中,对请求数据包进行加密压缩处理。VPN代理服务器接收到目标服务器的响应后,也原样转发给前端计算机。

参考链接:
https://imququ.com/post/web-proxy.html
https://wenku.baidu.com/view/ba9339383c1ec5da51e27002.html
【百度文库】