可以在标题中指定异步文件吗?

Kir*_*eck 8 http http-headers http-request

所以我的时间表总是这样

http://see.kirkstrobeck.com/TjQU/Screen%20Shot%202014-02-04%20at%206.40.14%20PM.png

index.html负载,然后询问其他文件.我想有没有办法让响应请求的标题说明应该删除哪些文件?所以它看起来像这样..

http://see.kirkstrobeck.com/TjKl/Screen%20Shot%202014-02-04%20at%206.40.14%20PM.png

也许像..

<?

header('fileGetRequest: /js/common.js');
header('fileGetRequest: /css/common.css');

?>
Run Code Online (Sandbox Code Playgroud)

Kob*_*obi 7

我今天不知道如何做到这一点,但SPDY扩展了Link标题,rel=subresource正是这个用途.

服务器推送和服务器提示:

服务器提示是一种机制,服务器可以在客户端发现之前向客户端通知所需的资源.服务器不发送资源的全部内容,而只发送URL作为响应的早期部分.然后,客户端可以验证其缓存(甚至可能消除了对GET-if-modified-since的需要),并且仅在需要时才正式请求资源.

HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Content-Encoding: gzip
Content-Length: 13847
Content-Type: text/html; charset=UTF-8
Date: Thu, 13 Jan 2011 17:47:12 GMT
Expires: -1
Server: FastServer1.0
Link: <logic.js>; rel=subresource

<html>
<body>
  [ lots of content here ]
  <script src="logic.js" type="text/javascript></script>
</body>
Run Code Online (Sandbox Code Playgroud)

示例来源:SPDY - LINK rel = subresource

如果您知道客户端没有缓存中的资源,您可能还需要考虑服务器推送,这节省了往返.

服务器推送是服务器将资源直接推送到客户端而客户端不需要资源的位置.服务器在此假设推动资源是可取的.推送可缓存资源可能存在风险,因为浏览器可能已经拥有资源并且推送可能是多余的.


2015年5月编辑

HTTP/2(基于SPDY,有些淘汰)也有推送请求(和Link标题).