Fonts 适合.woff2字体的MIME类型
今天我将软件包更新为4.3.0,并注意到添加了woff2font。该文件在CSS中链接,因此我需要配置nginx以正确地为woff2文件提供服务 目前,我在nginx配置中有以下字体块:Fonts 适合.woff2字体的MIME类型,fonts,mime-types,woff,woff2,Fonts,Mime Types,Woff,Woff2,今天我将软件包更新为4.3.0,并注意到添加了woff2font。该文件在CSS中链接,因此我需要配置nginx以正确地为woff2文件提供服务 目前,我在nginx配置中有以下字体块: location ~* \.(otf|eot|woff|ttf)$ { types {font/opentype otf;} types {application/vnd.ms-fontobject eot;} types {font/truetype ttf;}
location ~* \.(otf|eot|woff|ttf)$ {
types {font/opentype otf;}
types {application/vnd.ms-fontobject eot;}
types {font/truetype ttf;}
types {application/font-woff woff;}
}
woff2字体的正确mime类型是什么?
font/woff2
对于nginx将以下内容添加到mime.types
文件中:
font/woff2 woff2代码>
旧答案
WOFF2字体的mime类型(有时写为mimetype)已被提议为application/font-WOFF2
此外,如果您参考规范(),您将看到正在讨论font/woff2
。我怀疑所有字体的filal mime类型最终将是更符合逻辑的font/*
(font/ttf
,font/woff2
等)
注意:WOFF2仍处于“工作草稿”状态--尚未正式采用。在IIS中,您可以通过将以下内容添加到项目的web.config来声明WOFF2字体文件的mime类型:
更新:
mime类型可能会根据最新W3C编辑器的WOFF2规范草案进行更改。请参阅第6.5节。WOFF 2.0声明最新的提议的格式为font/woff2
w3c似乎将其切换为font/woff2
我看到有一些关于正确mime类型的讨论。
在链接中,我们看到:
本文档定义了一个顶级的MIME类型“字体”
。。。官方定义的IANA子类型,如“应用程序/字体woff”
W3CWebFonts工作组的成员认为使用“应用程序”顶级类型并不理想
后来
6.5. WOFF 2.0
Type name:
font
Subtype name:
woff2
所以来自W3C的命题不同于IANA
我们可以看到,它也不同于woff类型:
我们读到:
Type name:
application
Subtype name:
font-woff
那是
application/font-woff
Apache
在Apache中,您可以通过.htaccess
文件添加woff2
mime类型,如所述
非法移民
在IIS中,只需将以下mimeMap
标记添加到web.config
文件的staticContent
标记中即可
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
我在那页上没有看到任何东西表明它已被更改为font/woff2
请你核实一下好吗?也许我弄错了。我是指附录A,6.5。沃夫2.0’无法想象这会被否决。规格说明非常清楚。类型为font,子类型为woff2,使其成为font/woff2。这也是谷歌字体本身所使用的。起初我对此投了更高的票,但我认为我可以从中获得一篇博文。目前来看,这篇文章与WOFF2规范是一致的,但这仍然是一个工作草案,尚未移至推荐状态。这意味着woff2在技术上没有mime,因为在获得批准之前,font/woff2
是无效的,但是规范文件已经撤销了对application/font-woff2
的认可,因此我们没有正式的mime。因此,我认为在这一点上,我将使用application/font-woff2
@rtpHarry。我之前对这个答案和您的评论都投了赞成票。截至2017年2月,W3C发布了标准跟踪RFC 8081,使font/woff2
成为官方媒体类型。看到了吗?这已经更新了。规格说明非常清楚。类型为font,子类型为woff2,使其成为font/woff2。这也是谷歌字体本身所使用的。我仍然看不到规范中有任何明确的内容。尽管他们确实谈到要引入font/*
top-level类型。我想为了获得完整的信息,我会在我的答案中添加这些内容。@atwright147 mime类型在附录A中介绍,对于Woff2,它是附录A的第6.5节。2016年3月更新:它现在是一个候选建议,当我gzip Woff2文件变大时,font/Woff2是mimetype文件-不像我的CSS和JS文件被大量压缩-可能它已经被压缩了?那么application/x-font-Woff2
Hey@Moes:)呢,application/x-font-woff2
是woff2非常新时的旧类型。现在推荐使用应用程序/font-woff2
,因为这是广泛支持的。如果您想要向后兼容,也可以在IIS中包含x-font-woff2
。在IIS中,请小心删除以前定义的任何扩展项,以防它们在服务器中的其他地方定义。如果您遇到这种情况,这将给您带来非常混乱的错误
然后如上所述对其进行定义:)请注意,提议的也是最有可能被接受的是font/woff2。现在建议使用font/woff2
作为MIME类型,但不包括woff2。现在IIS 10中的MIME类型得到了支持。woff2。使用IIS 10,您不需要更改web.config中的任何内容。
标记在这里的作用是什么?如果mimeMap已经存在,那么有时IIS会抛出一个错误。在添加之前删除它可以修复该错误。以下是如何在Apache中缓存woff2文件:AddType font/woff2 woff2
和ExpiresActive On ExpiresByType font/woff2“access plus 1个月”
。(省略结束标记和换行符。)
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />