当涉及 MIME 类型时,文件扩展名重要吗?这会影响服务器上的其他内容吗? [关闭]

Posted

技术标签:

【中文标题】当涉及 MIME 类型时,文件扩展名重要吗?这会影响服务器上的其他内容吗? [关闭]【英文标题】:Is the file extension important when a MIME type is involved? Does this affect other things on a server? [closed] 【发布时间】:2014-08-30 16:21:14 【问题描述】:

文件扩展名重要吗?

例如,我有一个 CSS 样式表。我称它为“hi.js”,然后用它的 MIME 类型作为 text/CSS 链接到它。这行得通吗?这样做是否“非法”?

编辑:这只是一个问题,天哪,不像我真的要这样做

【问题讨论】:

什么是名字?一堆毫无价值的人物。 为什么要这样做?一点用处都没有!当然,编写一个好的和干净的代码是一种不好的做法...... @NiettheDarkAbsol 好吧,它是文本编辑器找出要使用的语法突出显示的主要方法。所以你不能真的说这是一堆“毫无价值”的角色。 【参考方案1】:

当涉及 HTTP 时,文件扩展名或多或少毫无意义。重要的是内容类型(由服务器发送的内容类型,而不是您使用 type 属性告诉浏览器期望的内容类型)。

但是,使用误导性的文件扩展名会:

使配置服务器变得更加困难(因为您必须告诉它为该文件发送不同的内容类型) 让任何必须维护您的代码的人(包括 6 个月后的您)对您非常不满

【讨论】:

【参考方案2】:

不,文件扩展名不重要。

HTTP 没有“文件”的概念,只有带有内容/标头的请求/响应。如果响应头标识了响应内容的类型,则请求它的 URL(即“文件扩展名”所在的位置)没有区别。

网址可能是:

/style.css /style.js /foo.bar /CssGenerator.php?styleIdentifier=MyStyle /一些/风格 等

它对响应的内容和标题没有影响。

【讨论】:

以上是关于当涉及 MIME 类型时,文件扩展名重要吗?这会影响服务器上的其他内容吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

使用 .NET,如何根据文件签名而不是扩展名找到文件的 mime 类型

像图像或 PDF 文件这样的 MIME 类型不需要 base64 或以其他方式编码吗?