文件扩展名对浏览器有用吗?

时间:2010-01-27 16:12:07

标签: html browser image

如果我将我的照片命名为“test.jpg”或仅为观众“测试”,这是否重要?

<img src="test.jpg" />
<img src="test" />

两者都适用于我所知道的所有浏览器,但使用正确的文件扩展名是否有任何意义?

6 个答案:

答案 0 :(得分:12)

不,重要的是Content-Type标头,它在HTTP响应中提供。

答案 1 :(得分:10)

这可能无关紧要(见其他答案)。

说完了,为什么不保留文件扩展名?它将使您的页面源更具可读性,并且您将很容易理解存储在服务器上的文件类型。

即使没有技术原因,将每个文件保留为有意义的扩展名也是一种非常好的做法。同样,我猜您可以保存.c.h..py个文件而不添加扩展名。他们会编译并运行,但这会让你的生活变得更加艰难。

答案 2 :(得分:6)

理论上,正如安东指出的那样,重要的是Content-Type标题。

但是,实际上,至少Internet Explorer会在某些情况下尝试“猜测”MIME类型,即使它是在Content-Type标头中指定的。然后文件名是考虑的事情之一。但是,这只适用于某些特殊情况。

见这里:http://msdn.microsoft.com/en-us/library/ms775147%28VS.85%29.aspx

答案 3 :(得分:1)

不。只有响应中的MIME类型很重要,有时甚至不重要。

答案 4 :(得分:1)

对于图像,因为它们使用mime类型并不重要。但你要问的事实意味着即使你认为它有点令人困惑。这也假设一些mod_rewrite foo或你正在通过你的框架加载图像,这将花费你一些性能。

答案 5 :(得分:1)

对于浏览器,不,MIME类型才是真正重要的。请参阅this list of MIME types

对于用户来说,添加扩展程序可能有意义,但大多数图片网址对最终用户不可见,因此这不是一个重点。

对于服务器,扩展名绝对重要。大多数Web服务器使用文件扩展名作为确定如何处理传入请求的方法。 e.g:

如果您需要动态生成robots.txt文件,则可以将Web服务器设置为以与使用静态robots.txt时不同的方式处理传入的.txt请求。