• Home
  • Articles
    • 日志
    • 妍小言
    • 舒小书
    • 浩然说
    • 生活日记
  • All Tags

理解Http完整流程

22 Feb 2017

Reading time ~1 minute

这是我所理解的http流程,从chrome network timing来分析从客户端 - 服务端 - 客户端的完整链条。

Chrome Network Timing截图

http

DNS Lookup阶段

这个很好理解,就是查找DNS所花费的时间。

Initial Connection阶段

用于客户端与服务端建立连接所花费的时间。

  • TCP三次握手以及TCP重连所花费的时间。
  • 如果是https,还包括SSL握手花费的时间。

Request Sent阶段

客户端想服务端发送请求

request包括

  • 方法
  • 请求URL path
  • 请求头(User-Agent,Host等)

Waiting (TTFB)阶段

客户端等待服务端处理,相应时间,如果配置了Socket read timeout, 则要注意这个时间段的长度。

Content Download阶段

服务端返回response,服务端解析并下载response body的时间。

response包括

  • 状态码
  • 消息头
  • body

总结

我认为一个完整的http流程为:

DNS解析 –》 建立TCP/SSL连接 –》请求的构造并发送 –》服务端响应 –》服务端返回结果客户端下载解析response body



httpchrome