iOS 上 QQ 后台 HTTP 请求对应多个响应? 这样符合 HTTP/1.1 标准吗?

2017-06-20 13:44:06 +08:00
 flicker317

最近在调试 iOS 上的代理,大部分 http 请求都比较标准,但是 QQ 这个就比较奇怪了,大家看一下,翻了下 rfc 好像没看到相关的描述?

1812 次点击
所在节点    问与答
9 条回复
GPU
2017-06-20 15:17:27 +08:00
图片好像打不开 :ERR_SPDY_PROTOCOL_ERROR
sc3263
2017-06-20 15:30:24 +08:00
你指的是 HTTP pipelining 么?
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.

坑很深的样子。
msg7086
2017-06-20 16:16:32 +08:00
没仔细看,但是看着像是 HTTP Keepalive 啊。
flicker317
2017-06-20 16:39:43 +08:00
不是 pipelinling, 注意看只有 3 个 request, 返回了 5 个 response
cst4you
2017-06-20 16:53:19 +08:00
私有协议
xenme
2017-06-20 16:59:29 +08:00
是不是跟抓包方式有关。
之前我用 Windows netsh 抓包然后转了 pcap 之后看到类似的重复的记录。

其实你看 seq no 都是 1808,只是重复包了而已。
flicker317
2017-06-20 17:43:16 +08:00
@xenme seq no 都是 1808 没变只是说明发送端没在发送数据了,ack 一直在增加啊,说明收到数据了
sc3263
2017-06-20 18:02:15 +08:00
@flicker317 不好意思没注意这个。如果是真的多回复了的话,http/1.1 标准里应该不支持这么玩。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/369786

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX