本附录为规范性内容。
本附录根据 BCP 13 和 W3CRegMedia 的要求,注册了新的 MIME 媒体类型 "image/svg+xml"。
image
svg+xml
无。
charset
与 application/xml 媒体类型相同,如 [rfc7303] 或其后续版本所述。
与 application/xml 相同。详见 [rfc7303] 第 3.2 节或其后续版本。
SVG 工作组的安全和隐私自评结果详见 https://github.com/w3c/svgwg/wiki/SVG-2-Security-&-Privacy-Review。
如同其他 XML 类型,正如 [rfc7303] 第 10 节所述,恶意构造的 XML 实体的反复扩展可能会占用大量内存,导致在受限环境中 XML 处理器失败。
多个 SVG 元素可能导致引用任意 URI。在这种情况下,应考虑 [rfc3986] 第 7 节的安全问题。
与 HTML 类似,SVG 文档可能引用外部媒体,如图像、音频、视频、样式表和脚本语言。脚本语言是可执行内容。在这种情况下,适用于这些格式的媒体类型注册中的安全注意事项也应适用。
此外,由于 SVG 的扩展功能和 XML 的一般特性,"image/svg+xml" 可能描述具有超出本文所述的安全隐患的内容。然而,如果处理器仅遵循已发布规范的规范语义,则此类内容将超出 SVG 命名空间,且应被忽略。只有当处理器识别并处理了额外的内容,或将该内容的进一步处理分派给其他处理器时,才有可能出现安全问题。在这种情况下,这些问题将超出本注册文档的范畴。
SVG 工作组的安全和隐私自评结果详见 https://github.com/w3c/svgwg/wiki/SVG-2-Security-&-Privacy-Review。
SVG 的 ‘requiredExtensions’ 和 ‘systemLanguage’ 属性可能提供了一些检查用户代理主机环境配置的机会。通过 ‘requiredExtensions’ 确定用户代理是否支持自定义扩展,通过 ‘systemLanguage’ 确定语言的偏好顺序。
已发布的规范描述了处理语义,规定了在处理未识别的元素和属性时必须遵循的行为,这些元素和属性可能位于 SVG 命名空间内或其他命名空间中。
由于 SVG 是可扩展的,符合规范的 "image/svg+xml" 处理器必须预期接收到的内容是格式良好的 XML,但不能保证该内容对特定 DTD 或 Schema 是有效的,或者处理器能够识别文档中的所有元素和属性。
SVG 已发布了测试套件及相关的实现报告,显示哪些实现通过了哪些测试。随着新测试的添加或实现的改进,这些信息会定期更新。
该媒体类型注册内容摘自 SVG 1.1 规范的附录 P。
SVG 被 Web 浏览器使用,通常与 HTML 一起使用;移动电话和数码相机也使用它作为图形资产交换格式;此外,还用于桌面出版、工业流程可视化、显示标牌以及需要可扩展的静态或交互式图形功能的许多其他应用程序。
注意,扩展名 'svgz' 是 'svg.gz' 的别名 [rfc1952],即类型为 image/svg+xml 的八位字节流,随后使用 gzip 进行压缩。
注意,Macintosh 文件类型代码 'svgz'(全为小写)是 GZIP [rfc1952] 压缩的 "svg " 的别名,即类型为 image/svg+xml 的八位字节流,随后使用 gzip 进行压缩。
org.w3c.svg
符合 public.image
和 public.xml
Chris Lilley, Doug Schepers(member-svg-media-type@w3.org)。
通用
无
SVG 规范是万维网联盟 SVG 工作组的工作成果。
W3C 对本规范拥有变更控制权。