HTML URL中的斜杠的目的是什么?


18

我注意到,一些博客帖子有使用开始用价值环节/href

例如:

<a href="/somedir/somepage.html">My Page</a>

前导是否/表示路径从站点根目录开始?

换句话说,如果站点URL为www.mysite.com,则有效href值为www.mysite.com/somedir/somepage.html

所有浏览器都接受此约定吗?


3
您也可以找到一个双斜杠的URL,//somedomain.com/somedir/在某些环节,它使用用于当前页面相同的协议,stackoverflow.com/questions/4978235/... stackoverflow.com/questions/4831741/...
霍肯

Answers:


19

以a开头的URL很重要,/这样可以返回预期的URL,而不是返回其父级或子级。

假设如果您正在浏览,/cream-cakes/则页面上的链接blah.html没有正斜杠,它将尝试访问页面,/cream-cakes/blah.html而具有正斜杠的链接将假定您的意思是顶层domain.com/blah.html

通常,最好根据/我的经验,在更改网站结构时始终保持友好,尽管假定返回预期的页面没有对与错。


12

前导“ /”是否表示路径从站点根目录开始?

从技术上讲,这在RFC 3986的4.2节中称为“绝对路径引用”:

以单个斜杠字符开头的相对参考称为绝对路径参考。

它确保路径是根目录的绝对路径,而不是当前目录的绝对路径(称为“相对路径”引用)。请参见上,扩大后的讨论。


您可以解决浏览器对此类链接的支持吗?
斯蒂芬·奥斯特米勒

2
@Stephen因为每一个浏览器做过至少1998年
DisgruntledGoat

1
@DisgruntledGoat:可能早于此。事实上,我会去的肢体,并只说“每一个浏览器永远 ”; 该语法从一开始就是URL标准的一部分。
Ilmari Karonen 2014年

2

这是一个根相对链接。这是一个相对链接(有点类似于../),但它始于网站的根目录。如果站点上三级的页面以斜杠开始链接,则路径的其余部分将相对于站点的根目录。

这种形式的路径的好处是标记中的字符更少:

http://example.com/page.html

/page.html

另一个优势是跨域更改的可移植性。例如,如果将example.com内容移动到example.org,则假设使用相同的目录命名/布局,相对于根的链接仍将起作用。如果在本地开发页面然后上传到Web,则特别有用。

与其他类型的路径-相对(../)和绝对(http://...)一样,当文件或目录被重命名或移动时,仍然需要更新链接。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.