如何在Express 4中正确设置链接预取标头?

Joh*_*ear 1 google-chrome chromium node.js etherpad express

根据MDN,正确的方法是发送标题:

Link: </images/big.jpeg>; rel=prefetch
Run Code Online (Sandbox Code Playgroud)

所以我明确的语法是:

res.header('Link', '</images/big.jpeg>; rel=prefetch');
Run Code Online (Sandbox Code Playgroud)

我看到它在我的浏览器中登陆:

Link:</images/big.jpeg>; rel=prefetch
Run Code Online (Sandbox Code Playgroud)

但Chrome从不试图下载图像..元和链接方法工作正常..

我设置标头错误或浏览器无法处理标头值?

UDPATE:好的,看起来我做得对,但Linux/Ubuntu上的Chrome 43和Chromium 43还没有支持.这在Firefox 38中运行良好..

可能是Chromium没有在网络标签中显示预取吗?

更新2:所以看起来Chrome/Chromium正在隐藏"网络"标签中的文件传输.如果有人能证实这一点,我会很感激..

Joh*_*ear 5

在Express 4+中为一个文件设置预取..

res.set('Link', '<static/js/file1.js>; rel=prefetch');
Run Code Online (Sandbox Code Playgroud)

对于多个文件.

res.set('Link', '<static/js/file1.js>; rel=prefetch, <static/js/file2.js>; rel=prefetch');
Run Code Online (Sandbox Code Playgroud)

请勿尝试在Chrome中对此进行测试,如果您在"网络"标签下进行调查,Chrome会欺骗您,并将其显示为无效.始终使用Firefox进行测试.

你可以看到我在这里的大型项目中实现这一点.