WOFF字体应该作为什么mime类型?
我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。
我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:
资源解释为字体,但使用MIME类型应用程序/字节流传输。
有人知道吗?
WOFF字体应该作为什么mime类型?
我正在服务truetype (ttf)字体作为字体/truetype和opentype (otf)作为字体/opentype,但我找不到WOFF字体的正确格式。
我已经尝试了字体/woff,字体/webopen,和字体/webopentype,但Chrome仍然抱怨:
资源解释为字体,但使用MIME类型应用程序/字节流传输。
有人知道吗?
当前回答
我知道这篇文章有点老了,但在花了很多时间试图让字体在我的nginx本地机器上工作,并尝试了大量的解决方案后,我终于得到了一个对我来说很有魅力的解决方案。
location ~* \.(eot|otf|ttf|woff|woff2)$ {
add_header Access-Control-Allow-Origin *;
}
在圆括号内,您可以放置字体的扩展名或您想要加载的文件。例如,我将它用于字体和图像(png,jpg等),所以不要感到困惑,这个解决方案只适用于字体。
只要把它放入你的nginx配置文件,重新启动,我希望它也适用于你!
其他回答
注:这个答案在当时是正确的,但在2017年RFC 8081发布时就过时了
没有字体的MIME类型!因此,font/xxx总是错误的。
也许这能帮到别人。我在iis7上看到。ttf已经是一个已知的mime类型。它被配置为:
application/octet-stream
所以我只是添加了所有的CSS字体类型(。oet, .svg, .ttf, .woff)和IIS开始为它们提供服务。Chrome开发工具也不会抱怨重新解释类型。
欢呼, 迈克尔
它将是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笔记
NGINX溶液
file
/etc/nginx/mime.types
or
/usr/local/nginx/conf/mime.types
add
font/ttf ttf;
font/opentype otf;
font/woff woff;
font/woff2 woff2;
application/vnd.ms-fontobject eot;
删除
application/octet-stream eot;
参考文献
RFC @02.2017
https://www.rfc-editor.org/rfc/rfc8081#page-15
https://www.iana.org/assignments/media-types/media-types.xhtml
感谢迈克·富尔彻
http://drawingablank.me/blog/font-mime-types-in-nginx.html
截至2017年2月,RFC8081是建议标准。它为字体定义了一个顶级媒体类型,因此WOFF和WOFF2的标准媒体类型如下:
font/woff
font/woff2