为什么一些专业网页设计师在使用CSS、JavaScript、图片等时会使用绝对路径而非相对路径?

13

我曾经认为所有人都使用相对路径(例如/styles/style.css)。但我想知道为什么一些流行的网络设计师(例如http://www.getfinch.comhttp://31three.com/)使用绝对路径(http://example.com/styles/style.css)。

因此,我的问题基本上是:为什么一些专业设计师使用绝对路径而不是相对路径?


@Gert G 我考虑过那个,但是开玩笑吧哈哈 - alexchenco
2
绝对路径引用的域名是否与页面所在的域名不同?也就是说,网站A使用的CSS或图像文件实际上位于网站B上? - slugster
1
如果您的页面使用https协议调用,任何相对路径的CSS也将使用https协议调用。您真的需要加密/解密CSS内容吗? :D但是,如果您使用绝对路径引用外部CSS,可以指定要使用的协议,通常为http而不是https。请注意,https会给您的服务器带来额外的工作。 - Second Person Shooter
@xport - 一位同事刚指出,在浏览器中这可能会引发警告,因为它将传回安全和不安全的信息。 - Andrew
13个回答

0

有些人甚至会说,从域的根目录开始的路径(例如/styles/style.css)是绝对的(因此存在问题)。

事实是:绝对/完全限定方案和相对方案都解决了与移动文件相关的问题。但它们解决的是不同的问题。使用完全相对方案,您可以将与文档相关的所有内容移动到服务器上的不同路径,而不会破坏任何东西。使用完全限定(和某些绝对方案),您可以移动任何单个文档而不会破坏任何东西。

我倾向于经常以组的形式移动文件,而不是迁移单个文档,因此我倾向于使用完全相对方案。其他人可能有不同的需求。


0

我听到的原因是为了在链接到同一域上的页面时进行SEO优化。我不确定这是否是从Web开发的黑暗时代延续下来的,还是现在仍然有效,但这是我经常得到的解释。

我解决这个问题的方法是在我的头部使用基本属性,以便我可以获得相对URL的好处。这样,我就可以在开发服务器上进行测试,只需更改基本URL或完全注释掉它。尽管所有相对URL都需要编写,就像它们是从设置的基本URL导航一样。


0
如果您的页面使用https协议调用,则任何相对路径css也将使用https协议调用。您真的需要加密/解密css内容吗?:D
但是,如果您使用绝对路径引用外部css,则可以指定要使用的协议,一般使用http而不是https。

我已经看到关于SSL开销的争论太多次了。 也许如此,但谁在乎呢?!?请参见:how-much-overhead-does-ssl-impose ... 加密所有内容。尽可能使用根相对链接,包括CSS。这不会给服务器带来任何额外的负载。如果您不同意,请证明它。 - B. Shea

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接