在HTML中包含CSS和JS会提高页面加载时间和/或服务器性能?

这两个HTML片段中的哪一个performance更好?

在HTML中包含CSS和JS

<html> <head> <style> <?php include("someStyle.css"); ?> </style> <script> <?php include("someScript.js"); ?> </script> </head> 

或者链接CSS和JS:

 <html> <head> <title>Family Tree</title> <script src="someScript.js"></script> <link href="someStyle.css" rel='stylesheet' type='text/css' /> </head> 

我能想到的逻辑是

  1. 服务器收到更less的命中(+服务器)
  2. 并行传输被减less( – 浏览器)
  3. 如果使用,DEFLATE性能得到改善。 (+服务器)

我会注意到大型服务器负载的改进/降级?

使用单独的JavaScript和CSS文件可以获得更好的性能,因为它们不会经常更改,因此可以更积极地进行caching,而HTML通常是dynamic的,无法caching。 如果内嵌JavaScript和CSS,则无法caching它们,这意味着需要下载更多的数据和更长的页面生成时间。 您可能想要对这些单独的文件执行以下操作:

  • 将CSS和JS连接成一个文件
  • 缩小内容
  • 提供文件时启用gzip压缩
  • 确保设置了EtagLast-Modified标头,并且服务器将授予If-Modified-SinceIf-Not-Match
  • 将来有一段时间设置Expires标题

那么一个例子是客户端,另一个是服务器端。 所以,如果你喜欢更好的服务器性能,那么在你的第二个例子中和客户端一起。 顺便说一句,你仍然链接在这两个例子,而不是在实际的HTML文档中input任何CSS或JS代码。 在第一个示例中,您告诉服务器在PHP标签内处理CSS和JS代码,在第二个示例中,您要告诉客户端(您的Web浏览器)处理CSS和JS代码。