这是优化吗?
Is this an optimization?
从
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
<?php echo file_get_contents('jquery.js'); ?>
</script>
真的能加快速度吗?
我认为它是因为php可以获取和嵌入文件的内容比客户端的浏览器可以使文件的完整请求更快,因为php不通过网络。
传统方法的主要区别是可以缓存吗?
它可能在第一次页面加载时更快,但在每次后续加载时将慢得多。在第一个示例中,客户机浏览器将缓存结果。
如果你在客户的生活中只服务一个网站,那么是的,因为你只有一个HTTP请求而不是两个。
如果你要为多个站点提供服务,这些站点都链接到同一个javascript源文件,那么你就复制了所有这些冗余数据,并且没有给客户端一个缓存文件的机会。
在这两种情况下都需要将字节传输到浏览器。唯一的区别是在后一种情况下保存了HTTP请求。还要确保使用CDATA
或htmlspecialchars
转义javascript。
如果你在HTML页面中包含了JS库,它就不能被浏览器缓存。将JS与普通的HTML代码分开通常是一个好主意,因为浏览器可以缓存它,并且不需要在后续请求中获取它。
所以,简而言之,这是一个优化,只有当页面被用户调用一次,而jquery没有在其他页面上使用。
或者,您可能希望使用来自google api的jquery -效果是它们通常在浏览器的缓存中,因此根本不需要传输库。
对于那一页它是这样做的。
所有后续页面使用相同的库(jquery.js下载相同的URL)受到影响,因为如果你是的,包括引用外部文件必须在一个额外的下载连接(与HTTP ' 1.1和管道相对便宜),但是——你的网络服务器是它提供了有用的标题(将来到期:筒式水管),下载的浏览器缓存,而"优化"它与每一个内容页检索它。
也可以看到这样的页面:http://www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
(这里的关键字是"revving",与那些遥远的未来到期日期有关)
第一个更好,因为浏览器可以缓存脚本。对于第二个版本,即使脚本没有改变,它也必须在每次加载页面时重新下载脚本。
唯一的时间第二个版本是一个改进的脚本,不能被浏览器缓存
这取决于有多少文件使用同一个文件。然而,在大多数情况下,这将比你的第一段代码慢,主要是因为jquery.js
可以被缓存。
是的,这最初将是关于用于为页面提供服务的http请求数量的性能优化-然而,您的页面将在每次页面加载后变得更大,因为jquery.js
将在第一次下载后缓存在浏览器中。
如果你的页面是静态的,就会这样。
但如果它不是静态的,你的浏览器会下载页面,而jquery没有改变,但仍然包含。如果你使用src="jquery.js"
并且页面发生变化,浏览器将从缓存加载jquery,而不是再次下载,所以使用src="jquery.js"
实际上更快。
- 以可优化的方式使用requirejs加载模板
- 使用优化器在慢速连接上加载main.js时需要js超时
- JavaScript数组优化以提高性能
- React+Redux性能优化与组件ShouldUpdate
- JavaScript尾部调用中的函数是否经过优化
- javascript中的快捷方式融合优化
- 如何优化循环以插入到数据库中
- Css优化谷歌页面速度洞察
- 什么's在javascript'的优化上下文
- JavaScript代码优化-创建可重用类
- 如何优化jquery动画代码
- 颗粒-JavaScript/CSS缩小SIMPLE/ADVANCED优化不起作用
- requirejs优化器错误:未定义窗口
- 如何优化这个jquery循环的执行时间
- 如何在AJAX驱动的应用程序中优化元素绑定
- 优化J$plus组合3<脚本>转换为1
- 使用公共JS文档优化静态网站的CSS/JS导入
- 优化JavaScript代码
- Chrome的滚动优化
- JavaScript:为什么这个循环的优化使它变慢了