WOFF字体应该作为什么mime类型?

我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。

我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:

资源解释为字体,但使用MIME类型应用程序/字节流传输。

有人知道吗?


当前回答

将以下内容添加到.htaccess中

AddType font/woff woff

祝你好运

其他回答

@Nico,

目前还没有woff字体mime类型的定义标准。我使用字体交付cdn服务,它使用字体/woff,我在chrome中得到相同的警告。

参考:互联网号码分配机构

截至2017年2月,RFC8081是建议标准。它为字体定义了一个顶级媒体类型,因此WOFF和WOFF2的标准媒体类型如下:

font/woff
font/woff2

它将是application/font-woff。

参见http://www.w3.org/TR/WOFF/#appendix-b (W3C候选推荐2011年8月04日)

和http://www.w3.org/2002/06/registering-mediatype.html

来自Mozilla css字体面注释

在Gecko中,web字体受到相同的域限制(字体文件必须与使用它们的页面在相同的域上),除非使用HTTP访问控制来放松这一限制。 注意:由于没有为TrueType、OpenType和WOFF字体定义MIME类型,因此不考虑指定文件的MIME类型。

来源:https://developer.mozilla.org/en/CSS/@font-face笔记

https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types

这是一个有用的mime类型列表

Mime类型可能不是你唯一的问题。如果字体文件托管在S3或其他域上,您可能还会遇到Firefox无法从不同域加载字体的问题。这在Apache上很容易解决,但在Nginx上,我读到你可能需要用base-64编码你的字体文件,并直接嵌入到你的字体css文件中。