.woff2 字体的正确 MIME 类型

Proper MIME type for .woff2 fonts

今天我将 Font Awesome 包更新到 4.3.0 并注意到添加了 woff2 字体。该文件链接在 CSS 中,因此我需要配置 nginx 以正确提供 woff2 文件。

目前我在 nginx 字体配置中有这个块:

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

此外,如果您参考规范 (http://dev.w3.org/webfonts/WOFF2/spec/),您会看到正在讨论 font/woff2。我怀疑所有字体的 filal mime 类型最终会更合乎逻辑 font/*font/ttffont/woff2 等)...

N.B。 WOFF2 仍处于 'Working Draft' 状态 -- 尚未正式采用。

在 IIS 中,您可以通过将以下内容添加到项目的 web.config 来声明 WOFF2 字体文件的 MIME 类型:

<system.webServer>
  <staticContent>
    <remove fileExtension=".woff2" />
    <mimeMap fileExtension=".woff2" mimeType="font/woff2" />
  </staticContent>
</system.webServer>

更新: 根据最新的 W3C 编辑草案 WOFF2 规范,MIME 类型可能会发生变化。请参阅 Appendix A: Internet Media Type Registration 部分 6.5。 WOFF 2.0 指出最新的 建议 格式是 font/woff2

http://dev.w3.org/webfonts/WOFF2/spec/#IMT

w3c 好像改成了font/woff2

我看到有人讨论了正确的 MIME 类型。 在 link 中我们读到:

This document defines a top-level MIME type "font" ...

... the officially defined IANA subtypes such as "application/font-woff" ...

The members of the W3C WebFonts WG believe the use of "application" top-level type is not ideal.

以后

6.5. WOFF 2.0

    Type name:

        font
    Subtype name:

        woff2

所以 W3C 的提议不同于 IANA。

我们可以看到它也不同于woff类型: http://dev.w3.org/webfonts/WOFF/spec/#IMT 我们在哪里阅读:

Type name:

    application
Subtype name:

    font-woff

也就是

application/font-woff

http://www.w3.org/TR/WOFF/#appendix-b

阿帕奇

在 Apache 中,您可以通过 .htaccess 文件添加 woff2 MIME 类型,如 this link 所述。

AddType  application/font-woff2  .woff2

IIS

在 IIS 中,只需将以下 mimeMap 标记添加到 web.config 文件中的 staticContent 标记内。

<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />