【发布时间】:2010-01-30 13:05:23
【问题描述】:
可能是一个愚蠢的问题,只是想知道在包含 CSS 时执行以下方法对服务器响应时间有什么影响。如果是,哪种方法更好?如何
方式一:
<link rel='stylesheet' href='css/some.css'/>
方式2:
<link rel='stylesheet' href='http://www.somesite.com/css/some.css'/>
【问题讨论】:
可能是一个愚蠢的问题,只是想知道在包含 CSS 时执行以下方法对服务器响应时间有什么影响。如果是,哪种方法更好?如何
方式一:
<link rel='stylesheet' href='css/some.css'/>
方式2:
<link rel='stylesheet' href='http://www.somesite.com/css/some.css'/>
【问题讨论】:
不,您的浏览器在发出请求之前会将任何 URL 转换为绝对 URL,因此不会有任何区别。
【讨论】:
视情况而定。如果您希望在不更改代码的情况下在开发、测试和生产环境中运行相同的网站,您希望使用相对路径。取而代之的是,您还可以指定一个 <base> 元素,这样您只需要指定一次域 - 如果需要动态地使用服务器端语言。
在对协议(http: 部分)进行硬编码时要考虑的另一件事是,当您的网站可能定期在 HTTP 和 HTTPS 之间切换时,您希望至少使用与协议相关的 URL。在http://example.com/style.css 上硬编码的 CSS 文件可能会在大多数网络浏览器中引起有关“不安全内容”的安全投诉。在这种情况下,您希望使用相对路径,例如 style.css,或者如果您坚持使用完整域名,请改用 //example.com/style.css。顺便说一句,这也适用于所有其他资源,如 Javascript 和 (CSS) 图像。
【讨论】: