html - 将文件扩展名添加到 "href"值是否更好?

标签 html webserver anchor

如果我有一个非常简单 http 目录:

default.html
info.html
contact.html
etc...

如果 default.html 链接到目录中的其他文件,我总是能够简单地使用 anchor 标记,因此:

<a href="contact" target="_self">Contact me!</a>

假设目录中只有一个文件的名称与这个无扩展名的 href 值匹配,这是否总是有效?

最佳答案

这取决于服务器及其设置方式。

请记住,在 URI 和网络服务器上的文件之间没有固有的映射,网络服务器总是遵循某种规则来发送什么文件。最简单的方法采用 URI 的路径部分,并直接映射到网络服务器本地的文件路径,但它可以做任何其他事情。一个常见的情况是使用文件扩展名来做 con-neg,所以如果你在与路径对应的同一本地目录中有 contact.html 和 contact.atom 等等,它会选择最接近用户接受 header 的那个 -代理。

在 URI 中放置文件扩展名(无论是“静态”文件还是处理程序,如 .php、.aspx 等)是毫无意义的,因为 Web 上没有文件这样的东西(服务器上有文件,并且客户端可以将流保存到文件中,但是在网络本身上有八位字节流可能对应也可能不对应文件)。而且不太理想;大概 contact.html 与联系方式有关,而“contact”很好地表达了这个想法,“.html”与联系方式无关,也不属于那里。

因此,更明智的 URI 中不会包含“.html”,除非它以某种方式表达了一些有用的东西(例如明确要求 HTML 版本并绕过内容协商,或者页面实际上是关于 HTML 的).

另一方面,直接映射到文件名是一种快速而简单的做事方式,所以虽然我肯定不喜欢 URI 中这种随意的乱七八糟的东西,但我不会跳过太多的麻烦而不使用它,尤其是在用于样式表、图像等的辅助 URI 中,而不是那些预期会定期出现在浏览器地址栏中的 URI。

另一方面,一旦您删除了这些繁琐的东西,以后如果需要添加更复杂的处理,就会变得容易得多。

关于html - 将文件扩展名添加到 "href"值是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3657475/

相关文章:

html - 从网页链接到 PDF 文档中的特定部分( anchor )

css - 以下 CSS 类定义之间有什么区别?

CSS - 使用 :hover pseudoclass isn't working at the bottom of an anchor tag

html - 文本字段初始默认值的样式

php - Linux:为 Monkey 服务器设置 PHP FastCGI

nginx - Gatsby 与 nginx - 重定向已损坏 - 尾随/(斜杠)

php - 地址为 ' www' 的网站无法正常工作

javascript - 如何使用 JavaScript 制作关闭按钮?

html - 左右移动.. css 只是非常通用

javascript - ajax从localstorage发送数据到php