【发布时间】:2011-01-10 01:04:27
【问题描述】:
我是否将我的图片命名为“test.jpg”或只是为观众“测试”?
<img src="test.jpg" />
<img src="test" />
两者都适用于我知道的所有浏览器,但使用正确的文件扩展名有什么意义吗?
【问题讨论】:
我是否将我的图片命名为“test.jpg”或只是为观众“测试”?
<img src="test.jpg" />
<img src="test" />
两者都适用于我知道的所有浏览器,但使用正确的文件扩展名有什么意义吗?
【问题讨论】:
对于浏览器,不,MIME 类型才是真正重要的。见this list of MIME types。
对于用户而言,添加扩展程序可能很有意义,但大多数图像 URL 对最终用户不可见,因此这不是一个大问题。
对于服务器来说,扩展肯定很重要。大多数 Web 服务器使用文件的扩展名作为它们确定如何处理传入请求的方法。例如:
如果您需要动态生成 robots.txt 文件,您可以设置您的网络服务器以与使用静态 robots.txt 不同的方式处理传入的 .txt 请求。
【讨论】:
正如 Anton 所指出的,理论上,重要的是 Content-Type 标头。
然而,实际上,至少 Internet Explorer 在某些情况下会尝试“猜测” MIME 类型,即使它是在 Content-Type 标头中指定的。然后文件名是考虑的事情之一。但是,这应该只适用于某些特殊情况。
请看这里:http://msdn.microsoft.com/en-us/library/ms775147%28VS.85%29.aspx
【讨论】:
对于图像,这并不重要,因为它们使用 mime 类型。但你问的事实意味着即使你也认为它有点令人困惑。这也假设一些 mod_rewrite foo 或者您正在通过您的框架加载图像,这将花费您一些性能。
【讨论】:
这可能无关紧要(请参阅其他答案)。
话虽如此,为什么不保留文件扩展名?它将使您的页面源代码更具可读性,并且您将轻松理解存储在服务器上的文件类型。
即使没有技术原因,为每个文件保留一个有意义的扩展名也是一种很好的做法。同样,我想您可以保存您的 .c、.h. 和 .py 文件而不使用扩展名。它们会编译并运行,但这只会让你的生活变得更加艰难。
【讨论】:
Save As...?
不,重要的是 Content-Type 标头,它在 HTTP 响应中提供。
【讨论】:
不。只有响应中的 MIME 类型很重要,有时甚至不重要。
【讨论】: