抓包工具Charles修改请求Header,浏览器控制台显示仍旧未修改,但Charles显示修改过
我用Charles修改请求头的Origin
,结果发现浏览器这边总是显示没有修改成功。但我用Charles看请求详情,看到已经修改。看截图。
左边是Charles,右边Chrome控制台。
实际上后端读取的是修改后的Origin(修改前接口没数据,修改后有数据。),说明问题出在浏览器控制台。
但为什么浏览器不展示修改过的请求头呢?
自己考虑了一下,一个可能的解释是:请求(只有请求头相关数据)先经过浏览器,再经过Charles,再到后端,然后后端传(只有响应头相关数据和body数据)给Charles,再传给浏览器。
有没有HTTP比较熟悉的朋友出来解释下?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的想法是正确的。这个跟熟悉不熟悉HTTP关系不大。
请求是浏览器发出的,然后经过代理(Charles),然后到服务器,然后再经过代理(Charles),然后到浏览器。
所以浏览器发出的原始数据,被代理拦截,并修改。浏览器肯定不会知道这事。
你可以尝试下修改响应头,或响应体。浏览器肯定会展示被篡改的数据。