最近在弄nginx流量镜像的事情,刚好涉及到HTTP代理这一块。所以用wireshark抓包分析了一下,代理流程的时序图如下:

如果客户端是curl其中要注意的有两点(不同客户端有自己组装http包的特点,不通代理也有不通处理数据包的特点,特别注意寻址等功能):

1、数据包A请求头Proxy-Connection: Keep-Alive 

这里有个TCP长连接应该是因为get请求没有立即返回,代理需要先处理跟服务器之间的网络连接

2、数据包A第一行包含请求的协议、主机名、端口(这里http协议默认为80)

分析:代理的工作就是获取数据包A,重新组装,并使用数据包A里的协议发送到数据包A里主机名+端口,收到返回后再原封不动转发给浏览器

?有兴趣可以测试一下https或者post请求

posted on 2020-04-29 16:09  xugongzi  阅读(566)  评论(0)    收藏  举报