发送最正确的mimetype

时间:2010-05-08 09:03:54

标签: content-type mime-types

我在INI文件中有一个mimetype扩展名列表。但是,某些扩展名有多个mimetypes,例如;

midi[] = "application/x-midi"
midi[] = "audio/midi"
midi[] = "audio/x-mid"
midi[] = "audio/x-midi"
midi[] = "music/crescendo"
midi[] = "x-music/x-midi"

6(可能)mimetypes 1延长。确定正确的mimetype的常见做法是什么? (例如,我需要设置HTTP内容类型标头)。

我知道它不理想;根据扩展确定mimetypes ..但我需要一致的(跨服务器)结果(例如PHP中的fileinfo扩展正在做出可怕的猜测*)。

*某些fileinfo结果例如;

  • js - text / plain
  • css - text / c-h

2 个答案:

答案 0 :(得分:1)

在一天结束时,你所拥有的最好的是文件扩展名。

对于明确的列表,请在apache源代码树中找到它: 文档/ CONF /的mime.types

答案 1 :(得分:0)

我最终想出的是以下内容;

首先我使用“FileInfo”进行100%(已知)匹配(例如gif,jpeg,png),因为我确实希望依赖于某些文件的“指纹”检测。

如果上面的失败,我会回到“扩展2 mimetype”地图上;基于docs / conf / mime.types(我过滤了所有常用文件;例如图像,音频,视频,网络,文本)

如果仍未找到匹配项,我再次使用“FileInfo”;允许任何结果。

此时,如果仍未设置mimetype,则返回“application / octet-stream”硬编码。