最近在调试 iOS 上的代理,大部分 http 请求都比较标准,但是 QQ 这个就比较奇怪了,大家看一下,翻了下 rfc 好像没看到相关的描述?
1
GPU 2017-06-20 15:17:27 +08:00
图片好像打不开 :ERR_SPDY_PROTOCOL_ERROR
|
2
sc3263 2017-06-20 15:30:24 +08:00
你指的是 HTTP pipelining 么?
|
3
sc3263 2017-06-20 15:39:05 +08:00
rfc7230 有提到这个。不过貌似还提了一句,
Idempotent methods (Section 4.2.2 of [RFC7231]) are significant to pipelining because they can be automatically retried after a connection failure. A user agent SHOULD NOT pipeline requests after a non-idempotent method, until the final response status code for that method has been received, unless the user agent has a means to detect and recover from partial failure conditions involving the pipelined sequence. 坑很深的样子。 |
4
msg7086 2017-06-20 16:16:32 +08:00
没仔细看,但是看着像是 HTTP Keepalive 啊。
|
5
flicker317 OP 不是 pipelinling, 注意看只有 3 个 request, 返回了 5 个 response
|
6
cst4you 2017-06-20 16:53:19 +08:00
私有协议
|
7
xenme 2017-06-20 16:59:29 +08:00
是不是跟抓包方式有关。
之前我用 Windows netsh 抓包然后转了 pcap 之后看到类似的重复的记录。 其实你看 seq no 都是 1808,只是重复包了而已。 |
8
flicker317 OP @xenme seq no 都是 1808 没变只是说明发送端没在发送数据了,ack 一直在增加啊,说明收到数据了
|
9
sc3263 2017-06-20 18:02:15 +08:00
@flicker317 不好意思没注意这个。如果是真的多回复了的话,http/1.1 标准里应该不支持这么玩。。。
|