CSS样式和JavaScript脚本是应该放在外部文件中呢?
还是把它们放在页面本身之内呢?
如何处理是关于一些性能规则的思维,就这些问题,作一些探讨。
在实际应用中使用外部文件可以提高页面速度,因为CSS样式和JavaScript脚本文件都能在客户端产生缓存。内置在HTML文档中的CSS样式和JavaScript脚本则会在每次请求中随HTML文档重新下载。这虽然减少了HTTP请求的次数,却增加了HTML文档的大小。从另一方面来说,如果外部文件中的CSS样式和JavaScript脚本被客户端缓存,在没有增加HTTP请求次数的同时可以减少HTML文档的大小。
关键问题是,外部CSS样式和JavaScript脚本文件缓存的频率和请求HTML文档的次数有关。虽然有一定的难度,但是仍然有一些指标可以一测量它。如果一个会话中用户会浏览你网站中的多个页面,并且这些页面中会重复使用相同的脚本和样式表,缓存外部文件就会带来更大的益处。
许多网站没有注意建立这些指标。对于这些网站来说,最好的坚决方法就是把CSS样式和JavaScript脚本作为外部文件引用。比较适合使用内置代码的例外就是网站的主页。主页在一次会话中拥有较少(可能只有一次)的浏览量,你可以发现内置CSS样式和JavaScript脚本对于终端用户来说会加快响应时间。而且主页一般是用户访问的第一页,内置CSS样式和JavaScript脚本可以提高打开的速度。
对于拥有较大浏览量的首页来说,有一种技术可以平衡内置代码带来的HTTP请求减少与通过使用外部文件进行缓存带来的好处。其中一个就是在首页中内置CSS样式和JavaScript脚本,但是在页面下载完成后动态下载外部文件,在子页面中使用到这些文件时,它们已经缓存到客户端了。