当前位置:  开发笔记 > 前端 > 正文

使用HTML5预取的危险?

如何解决《使用HTML5预取的危险?》经验,为你挑选了1个好方法。

好的,所以它不是一个巨大的担忧,因为它只有少数浏览器支持:

Mozilla Firefox:支持

谷歌浏览器:从版本13开始支持(使用备用语法)

Safari:目前不支持Internet

资源管理器:目前不支持

然而,预取让我抽搐.如果用户登陆您的页面并退回到另一个站点,您是否支付了他们访问预取链接的带宽?

是否存在开发人员预取页面上的每个链接的风险,这反过来会使网站对用户的体验变慢?

看起来它可以改变分析.人们会通过预取强制页面浏览到用户吗?

安全性,您不会知道正在预取的页面.它可以预取恶意文件吗?

对于使用有限的移动用户来说,所有这些预取是否会让人痛苦?



1> Polynomial..:

我不能称自己是这方面的专家,但我可以提出这些意见:

    只有在已知有益的情况下才应考虑预取.在所有内容上启用预取只会很愚蠢.它本质上是服务器负载与用户体验的平衡.

    我没有看过HTML5预取规范,但我想他们已经指定了一个标题,指出"此请求是作为预取的一部分执行的",这可用于修复分析问题 - 即"如果这是预取,不要将其包含在分析统计信息中".

    从安全角度来看,人们会期望预取遵循与Ajax相同的跨域规则.这将减轻XSS存在问题的任何情况.

    支持HTML5预取的移动浏览器应足够智能,以便在使用WiFi时将其打开,在使用可能昂贵或缓慢形式的网络连接时关闭,例如2G/3G.

正如我所说的,我无法保证上述任何内容,但(与任何技术一样)都是最佳实践案例.您不会Cache-Control强制将您网站上的每个页面强制缓存一年.您也不期望浏览器满足跨域Ajax请求.希望对预取采用相同的考虑因素.


[根据MDN](https://developer.mozilla.org/en-US/docs/Link_prefetching_FAQ#Are_there_any_restrictions_on_what_is_prefetched.3F),预取不遵循同源规则,实际上可以缓存来自不同域的资源.
确认#2:Chrome确实添加了"目的:预取"标头,我假设其他浏览器实现了相同的功能.
推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有