抓包工具Charles修改请求Header,浏览器控制台显示仍旧未修改,但Charles显示修改过

林水溶
  • 1.1k

我用Charles修改请求头的Origin,结果发现浏览器这边总是显示没有修改成功。但我用Charles看请求详情,看到已经修改。看截图。
左边是Charles,右边Chrome控制台。

image.png

实际上后端读取的是修改后的Origin(修改前接口没数据,修改后有数据。),说明问题出在浏览器控制台。
但为什么浏览器不展示修改过的请求头呢?

自己考虑了一下,一个可能的解释是:请求(只有请求头相关数据)先经过浏览器,再经过Charles,再到后端,然后后端传(只有响应头相关数据和body数据)给Charles,再传给浏览器。

有没有HTTP比较熟悉的朋友出来解释下?

评论
阅读 1.5k
1 个回答

你的想法是正确的。这个跟熟悉不熟悉HTTP关系不大。

请求是浏览器发出的,然后经过代理(Charles),然后到服务器,然后再经过代理(Charles),然后到浏览器。

所以浏览器发出的原始数据,被代理拦截,并修改。浏览器肯定不会知道这事。

你可以尝试下修改响应头,或响应体。浏览器肯定会展示被篡改的数据。

撰写回答

登录后参与交流、获取后续更新提醒

宣传栏