在网上搜索,我发现了一堆不同的建议,什么正确的MIME类型的字体是,但我还没有尝试任何MIME类型,使我摆脱Chrome警告,如以下:

资源解释为字体,但使用MIME类型font/otf传输

字体是OTF。

到目前为止,我已经尝试了以下MIME类型

字体/传递 应用程序/ font-otf 应用程序/字体 应用程序/传递 应用程序/八进制 应用程序/ x-font-otf application/x-font-TrueType(我知道这不是truetype,但有一个来源引用了OTF)


当前回答

自2013年3月起IANA。ORG推荐使用。otf: 应用程序/ font-sfnt

其他字体:

.eot  ->  application/vnd.ms-fontobject (as from December 2005)
.otf  ->  application/font-sfnt         (as from March 2013)
.svg  ->  image/svg+xml                 (as from August 2011)
.ttf  ->  application/font-sfnt         (as from March 2013)
.woff ->  application/font-woff         (as from January 2013)

查看更多

其他回答

自2013年3月起IANA。ORG推荐使用。otf: 应用程序/ font-sfnt

其他字体:

.eot  ->  application/vnd.ms-fontobject (as from December 2005)
.otf  ->  application/font-sfnt         (as from March 2013)
.svg  ->  image/svg+xml                 (as from August 2011)
.ttf  ->  application/font-sfnt         (as from March 2013)
.woff ->  application/font-woff         (as from January 2013)

查看更多

NGINX溶液

file

/usr/local/nginx/conf/mime.types

add

font/ttf                      ttf;
font/opentype                 otf;
application/font-woff         woff2;
application/font-woff         woff;
application/vnd.ms-fontobject eot;

删除

application/octet-stream        eot;

Ref

http://drawingablank.me/blog/font-mime-types-in-nginx.html

忽略chrome警告。OTF字体没有标准的MIME类型。

Font /opentype可能会消除警告,但这并不意味着它是“正确”的做法。

可以说,你最好自己编一个,比如“application/x-opentype”,因为至少“application”是一种注册的内容类型,而“font”不是。

更新:OTF仍然是一个问题,但WOFF在2013年1月增加了IANA MIME类型的应用程序/font-woff。

更新2:OTF在2013年3月增加了一个MIME类型:application/font-sfnt。这种类型也适用于.ttf

尝试使用“font/opentype”。

我刚在IANA官方名单上做了些调查。我相信这里给出的答案'font/xxx'是不正确的,因为在MIME标准中没有'font'类型。

根据rfc和IANA,这似乎是截至2013年5月的游戏现状:

这三个是IANA官方指定的:

svg as " svg+xml" 像“应用程序/打字”一样工作 我们称之为“应用程序/vnd.m -fontobject”

这些不是正式的/赋值,所以必须使用'x-'语法:

TTF为"application/x-font-ttf" Otf为"application/x-font-opentype"

application/font-woff似乎是新的,可能是2013年1月才正式发布的。所以“application/x-font-woff”可能在短期内更安全/更兼容。