在测试移动设备的时候,一旦使用了 Fiddler,后台就会报参数缺失。 后来分析了使用 Fiddler 和不用 Fiddler 的网络抓包,发现 Fiddler 会将 Headers 里的某些头,首字母从小写改为大写。
后台程序并没有考虑到兼容大小写(因为协议里是小写),所以出现了这个问题。
做移动设备测试的时候,请大家一定要谨慎使用代理工具。
请楼主具体说明下会修改哪个属性?
我这边检测到的是一个 timestamp 字段,会在使用了 Fiddler 后,变成 Timestamp
From RFC 2616 - "Hypertext Transfer Protocol -- HTTP/1.1", Section 4.2, "Message Headers":
Each header field consists of a name followed by a colon (":") and the field value. Field names are case-insensitive.
HTTP 协议的 Method 是大小写敏感的,其他 Header 的 key 是大小写不敏感的。当然消息内容是区分大小写的。
所以我认为这应该是一个 bug——没有遵守标准
啊!明白了。我回去督促开发修改的,修改为兼容大小写。
学到了
给 fiddler 提个 bug