引用收藏夹图标时,MIME类型声明使用type属性是否必须?

问题描述

在HTML文档的<link rel="icon">中引用<head>时,是否必须使用属性type="[MIME TYPE HERE]"声明图标图像的 MIME类型

还是type属性是可选的?

例如

必须写:

<link rel="icon" href="/path/to/my/favicon.png" sizes="57x57" type="image/png">
<link rel="icon" href="/path/to/my/favicon.svg" type="image/svg+xml">

或者仍然有效:

<link rel="icon" href="/path/to/my/favicon.png" sizes="57x57">
<link rel="icon" href="/path/to/my/favicon.svg">

我问这个问题的原因:

今天,关于收藏夹图标,我读到:

主图标可以是任何大小的SVG。方式 type="image/svg+xml"是不必要的。

来源: https://medium.com/swlh/are-you-using-svg-favicons-yet-a-guide-for-modern-browsers-836a6aace3df

省略type并不会让我感到完全不舒服,但是如果我可以从官方消息来源确认绝对没有必要 ,那么我愿意尝试习惯不包括将来。

解决方法

TLDR:我的初步结论是,type 中的<link rel="icon" />属性不是必需的,但是包括它是一个好主意


Mozilla开发人员网络 MDN )指出:

如果有多个<link rel="icon">,则浏览器会使用它们的 mediatypesizes属性以选择最合适的属性 图标。

来源: https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types

网络超文本应用技术工作组 WHAT-WG )指出:

如果提供了多个图标,则用户代理必须选择最多的图标 根据{{​​1}},typemedia的图标 属性[...]没有默认类型的资源 图标关键字。但是,为了确定 资源,用户代理必须期望该资源是图像。

来源: https://html.spec.whatwg.org/multipage/links.html#rel-icon

WHAT-WG 还指出:

如果存在sizes属性,则用户代理必须假定 资源是给定类型[...]如果属性是 省略,但外部资源链接类型具有默认类型 定义,则用户代理必须假定资源属于该资源 键入[...]如果省略属性,则外部资源链接 类型没有定义默认类型,但是用户代理会 如果类型已知,则获取并处理链接的资源,并 受支持,则用户代理应获取并处理链接的 假设将支持该资源。

用户代理不得认为type属性具有权威性- 提取资源后,用户代理不得使用type 属性以确定其实际类型。只有 实际类型 [...]是 用于确定是否应用资源,而不是 上述假定类型。

来源: https://html.spec.whatwg.org/multipage/semantics.html#concept-link-type-sniffing

所有这些都向我暗示,始终为type包含type属性是一个好主意-即使规范未严格要求也是如此。