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

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

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

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

有人知道吗?


当前回答

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

其他回答

也许这能帮到别人。我在iis7上看到。ttf已经是一个已知的mime类型。它被配置为:

application/octet-stream

所以我只是添加了所有的CSS字体类型(。oet, .svg, .ttf, .woff)和IIS开始为它们提供服务。Chrome开发工具也不会抱怨重新解释类型。

欢呼, 迈克尔

对我来说,接下来就是在.htaccess文件中工作。

AddType font/ttf .ttf
AddType font/eot .eot
AddType font/otf .otf
AddType font/woff .woff
AddType font/woff2 .woff2   

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

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

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

IIS自动将.ttf定义为应用程序/octet-stream,这似乎工作正常,而fontshop建议将.woff定义为应用程序/octet-stream