为什么开不开 VPN 会影响 CURL 发包指定的 HTTP/1.0 协议头?

2014-09-20 15:15:42 +08:00
 wuhx
环境:
某省移动宽带, VPN服务器在JP, 服务器端在DO新加坡机房。

1. 不开VPN
执行curl --http1.0 xxx.com(打码了,非真实网址)
服务端打印:
HttpRequest(GET,http://xxx.com/,List(Host: xxx.com, Cache-Control: max-age=259200, Accept: */*, User-Agent: curl/7.30.0),Empty,HTTP/1.1)

2. 开vpn
重新执行:curl --http1.0 xxx.com
服务端打印:
HttpRequest(GET,http://xxx.com/,List(Host: xxx.com, Accept: */*, User-Agent: curl/7.30.0),Empty,HTTP/1.0)

tcpdump了一下,curl发出的包中确实是HTTP/1.0, 并且没有Cache-Control那个头。
请问是谁动了我http包呢,
是跨国访问经过了某个CDN吗,还是我触摸到了伟大到墙?
4343 次点击
所在节点    问与答
2 条回复
yfdyh000
2014-09-20 15:25:11 +08:00
是你的移动宽带劫持并加了 Cache-Control 吧,小ISP很常见的缓存服务器策略。
从服务端的回显也能看出,不开VPN变成了HTTP/1.1。
wuhx
2014-09-20 21:31:30 +08:00
@yfdyh000 应该是这个原因,多谢指点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/134644

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX