我的问题听起来很蠢,但我只是想确认:
- 是否有可能发送具有该资源的请求之前HTTP响应?
例如说你有一个HTML页面index.html
,只显示一个名为图片img.jpg
。 现在,如果你的服务器知道访问者将请求HTML文件,然后将JPG图片每次:
有没有可能让服务器只包含HTML文件后的图像发送到节省时间?
我知道,HTTP是一个同步协议,所以理论上它不应该工作,但我只是想有人来确认(或没有)。
我的问题听起来很蠢,但我只是想确认:
例如说你有一个HTML页面index.html
,只显示一个名为图片img.jpg
。 现在,如果你的服务器知道访问者将请求HTML文件,然后将JPG图片每次:
有没有可能让服务器只包含HTML文件后的图像发送到节省时间?
我知道,HTTP是一个同步协议,所以理论上它不应该工作,但我只是想有人来确认(或没有)。
如果有人请求/index.html和发送两个响应(一个用于/index.html,另一个用于/img.jpg),你怎么知道收件人将收到两个响应,并知道该怎么前一秒与他们无关要求进去?
这个问题是不是真的与发送。 问题是与接收器可能出现了意外的数据。
另外一个问题是,你拒绝的客户端使用HTTP缓存工具的能力等的If-Modified-Since和If-无 - 匹配(即客户可能不希望被发送/img.jpg,因为它已经有一个缓存复制)。
这就是说,你可以通过使用近似的服务器推送的好处彗星的技术。 但是,这不是简单的预期传入的HTTP请求更多地参与。
最近的一个岗位由Jacques Mattheij ,引用您很的问题,声称尽管HTTP被设计成一个同步协议, 落实没有。 在实践中,浏览器(他没有指明到底是哪)接受答案的请求尚未被发送。
在另一方面,如果你正在寻找的东西少哈克,你可以看看:
您可以通过有效缓存资源,即设置获得更好的结果, 适当的缓存头和配置你的Web服务器的高速缓存。 您也可以内嵌使用base 64编码的图像 ,如果这是一个特殊的关注。
您还可以看看长轮询的 JavaScript的解决方案。
你要找的服务器推送 :这是不是在HTTP上获得。 像SPDY协议有它,但你的运气了,如果你限制为HTTP。
我不认为这是可能在同一个HTTP响应混合.html和图像。 另外,发送图像数据“立即”,在第一次请求之后 - 有一种“静态资源”,这可能是帮助一个概念(但要求客户端创建一个新传请求特定资源)。
有几个在所提到的有趣的事情的文章 。
不,这是不可能的。
请求的第一行持有被请求的资源,所以你不知道做什么用,除非你检查字节的要求(至少一条线的价值)首先响应。
号HTTP定义为请求/响应协议。 一个要求:一个响应。 还有什么不是HTTP,这是别的东西,你必须正确地指定它,并在两端完全实现它。