根设主机 $\mathrm{H}$ 通过 HTTP/1.1 请求浏览某 Web 服务器 $\mathrm{S}$ 上的 Web 页 news408.hml, news408.hml 引用了同目录下 1 个图像, news408.hml 文件大小为 $1 \mathrm{MSS}$ (最大段长), 图像文件大小为 $3 \mathrm{MSS}, \mathrm{H}$ 访问 $\mathrm{S}$ 的往返时间 RTT $=10 \mathrm{~ms}$, 忽略 HTTP 响应报文的首部开销和 TCP 段传输时延。若 $\mathrm{H}$ 已完成域名解析, 则从 $\mathrm{H}$ 请求与 $\mathrm{S}$ 建立 TCP 连接时刻起, 到接收到全部内容止, 所需的时间至少是 ( ) 。
A. $30 \mathrm{~ms}$
B. $40 \mathrm{~ms}$
C. $50 \mathrm{~ms}$
D. $60 \mathrm{~ms}$
本题考查对 HTTP/1.1 工作过程及持续非流水线工作方式的理解。HTTP/1.1 使用了面向连接的 TCP 作为传输层协议。在 HTTP 中, 当请求消息比较长, 超过了 MSS 的长度, TCP 就需要把 HTTP 的数据拆解成一块块的数据发送, 而不是一次性发送所有数据, 拆分出来的每一块数据都要加上 $\mathrm{TCP}$ 头信息放进单独的网络包中, 然后交给 IP 模块来发送数据, 因此大小为 $3 \mathrm{MSS}$ 的图像文件在实际传输时被拆分成 3 个对象, 需要 3 次请求, 每访问一次对象就用去一个 RTT, 共需要 3 个 RTT, 再加上第一次请求页面时的 1 个 RTT, 因此需计 4 个 RTT 才能收到全部内容。

因此答案为：B