【发布时间】:2012-08-30 19:20:14
【问题描述】:
我的问题可能听起来很愚蠢,但我只是想确定一下:
- 是否可以在请求该资源之前发送 HTTP 响应?
例如,假设您有一个 HTML 页面 index.html,它只显示一张名为 img.jpg 的图片。
现在,如果您的服务器知道访问者每次都会请求 HTML 文件,然后是 jpg 图像:
服务器是否可以在 HTML 文件之后发送图像以节省时间?
我知道 HTTP 是一个同步协议,所以理论上它不应该工作,但我只是希望有人确认(或不确认)。
【问题讨论】:
-
那么您的问题是如何在 index.html 之后立即发送 JPEG 而无需等待浏览器呈现 html 页面并请求 JPEG?
-
是的,完全正确。只是为已经确定的事情节省时间。就像为该特定页面加载哪些 CSS / JS 文件......等等。
-
HTTP/2 通过添加推送功能解决了这个问题;这需要服务器同时发送请求和相应的响应,允许客户端在本地缓存它。然后,当客户端请求资源时,它的本地缓存会满足它,不会产生网络通信。然而,在 HTTP/1.1 中,发送预测响应是非常不可取的。
标签: http networking tcp comet