结合wireshark进行测试、分析
1、编码问题
1.1 url路径
url路径中包含敏感字符,不会被url编码的字符包括:
'=;,!*-
会被url编码的字符包括:
"<>\\
非ascii字符会先进行utf-8编码,再进行url编码。比如字符'时'编码为%E6%97%B6
1.2 直接参数
和url具有基本一致的编码和非编码字符,新增不会被url编码的字符包括:
/?
1.3 头部字段
允许头部字段的键和值包含'"<>等敏感字符,但是不能包含超过128的字符,即只能包含ascii基础字符。否则,会报异常,无法发送
键和值都可以包含空格,但是键无法包含:字符,且键和值都无法包含\n字符,否则会报异常,无法发送
1.4 体部
- 默认是直接的utf-8编码的字节,没有自动设置content-type字段,也没有进行url编码
2、请求方法拓展
3、头部字段拓展
- 允许设置host、user-agent等初始字段
- 设置host字段后,是与新的host地址通信,而非与url中地址通信