先看结论
- HTML 是一种通过标记表达网页内容语义、也可构建动态应用的文档格式,但在浏览器中打开时可能执行脚本。
- 查看可信的 HTML 或 HTM 页面时,可在设备的文件打开菜单中选择浏览器。Windows 和 Mac 用户若要查看源码,应选择文本编辑器或 HTML 编辑器。手机上的打开选项取决于文件管理器及已安装的应用。浏览器显示页面与编辑器查看源码是不同操作,打开前应先判断文件来源。
- 陌生 HTML 应按高风险主动内容对待。脚本可能造成信息泄露、凭据泄露、跨站脚本或跨站请求伪造,浏览器实现也可能存在安全缺陷。禁用脚本并不消除全部风险:IANA 还指出,涉及 img 元素的某些功能组合可用于端口扫描并暴露本地网络拓扑。承载不可信网页内容时,应与敏感内容使用不同源。参见 [IANA 的安全说明](https://www.iana.org/assignments/media-types/text/html)。
HTML 文件:打开方法、源码查看与安全风险
HTML 的全称是 HyperText Markup Language,即超文本标记语言,是万维网的核心标记语言。它通过元素、标签和属性组织内容,现行规范为 [WHATWG HTML Living Standard](https://html.spec.whatwg.org/multipage/introduction.html)。常用扩展名是 .html 和 .htm,登记的媒体类型为 text/html。规范文档包含 DOCTYPE 和 html 文档元素,但部分元素的标签允许省略。
需要 PDF 等静态副本时,应选择明确支持 HTML 输入及目标输出格式的工具。HTML 可通过内嵌或外部脚本提供交互,因此,转换为不执行这些脚本的静态表示时,不能假定交互仍会保留。解析后重新导出 HTML 也不保证源码无损:文档元素周围的部分 ASCII 空白会被丢弃或移动,需要保留原始代码时应保存原文件。
怎么打开
查看可信的 HTML 或 HTM 页面时,可在设备的文件打开菜单中选择浏览器。Windows 和 Mac 用户若要查看源码,应选择文本编辑器或 HTML 编辑器。手机上的打开选项取决于文件管理器及已安装的应用。浏览器显示页面与编辑器查看源码是不同操作,打开前应先判断文件来源。
查看可信的 HTML 或 HTM 页面时,可在设备的文件打开菜单中选择浏览器。Windows 和 Mac 用户若要查看源码,应选择文本编辑器或 HTML 编辑器。手机上的打开选项取决于文件管理器及已安装的应用。浏览器显示页面与编辑器查看源码是不同操作,打开前应先判断文件来源。
需要 PDF 等静态副本时,应选择明确支持 HTML 输入及目标输出格式的工具。HTML 可通过内嵌或外部脚本提供交互,因此,转换为不执行这些脚本的静态表示时,不能假定交互仍会保留。解析后重新导出 HTML 也不保证源码无损:文档元素周围的部分 ASCII 空白会被丢弃或移动,需要保留原始代码时应保存原文件。
文件安全
陌生 HTML 应按高风险主动内容对待。脚本可能造成信息泄露、凭据泄露、跨站脚本或跨站请求伪造,浏览器实现也可能存在安全缺陷。禁用脚本并不消除全部风险:IANA 还指出,涉及 img 元素的某些功能组合可用于端口扫描并暴露本地网络拓扑。承载不可信网页内容时,应与敏感内容使用不同源。参见 [IANA 的安全说明](https://www.iana.org/assignments/media-types/text/html)。
来路不明、文件名带两个后缀,或者内容和扩展名对不上——先停下来核对。
转换格式
需要 PDF 等静态副本时,应选择明确支持 HTML 输入及目标输出格式的工具。HTML 可通过内嵌或外部脚本提供交互,因此,转换为不执行这些脚本的静态表示时,不能假定交互仍会保留。解析后重新导出 HTML 也不保证源码无损:文档元素周围的部分 ASCII 空白会被丢弃或移动,需要保留原始代码时应保存原文件。
先复制一份原文件再转换,转完对照看看画质、元数据和排版有没有变。
常见问题
HTML 文件是什么格式,主要用来做什么?
HTML 是超文本标记语言文档格式,通过元素和属性表达网页内容的语义和结构,也可用于动态应用。常用扩展名为 .html、.htm,媒体类型为 text/html,现行规范由 WHATWG 的 HTML Living Standard 定义。
Windows 怎么打开 HTM 文件?
对于可信的 HTM 文件,在“打开方式”中选择浏览器即可查看页面;要读源码则选择文本编辑器或 HTML 编辑器。HTM 是 HTML 的常用扩展名之一。陌生文件可能执行脚本,应先判断来源。
Mac 怎么打开 HTML 文件?
在文件的“打开方式”中,选择浏览器查看页面,或选择文本编辑器、HTML 编辑器查看源码。
手机怎么打开 HTML 文件?
先查看文件管理器的打开选项,确认能否选择浏览器或支持 HTML 的应用。具体选项取决于手机和已安装的应用。不要把陌生 HTML 当作纯静态文本直接打开。
HTML 文件打开后乱码或页面显示异常怎么办?
乱码时可先检查字符编码声明;页面布局异常时可检查 DOCTYPE,省略它可能触发与部分规范不兼容的浏览器渲染模式。这些是排查方向,不能据此断定所有异常都由编码或 DOCTYPE 引起。
HTML 和 HTM 扩展名有什么区别,应该选哪个?
.html 和 .htm 都是 HTML 文档的常用扩展名,可按接收系统的要求选择。不能仅凭两种扩展名推断内容、浏览器行为或安全性不同,也不能靠改扩展名判断文件可信。
HTML 转 PDF 会丢失交互功能吗?
不能假定交互会保留。HTML 可以包含脚本或引用外部脚本;如果转换结果是不会执行这些脚本的静态表示,原有交互就不能保证继续可用。
打开陌生 HTML 文件有什么安全风险?
HTML 可能执行脚本,引发信息或凭据泄露、跨站脚本和跨站请求伪造等风险。禁用脚本也不能消除全部风险,涉及图片的功能组合仍可能探测本地网络。文件能正常显示不代表安全。
HTML 文件有没有固定文件头,可以靠 DOCTYPE 识别吗?
IANA 明确说明,没有能唯一识别 HTML 文档的字节序列。因此不能把 <!DOCTYPE html> 当作所有 HTML 文件必有的固定签名。DOCTYPE 会影响渲染模式,但它的存在不证明文件安全或符合规范。
如何查看 HTML 文件源代码并保留原始内容?
用文本编辑器或 HTML 编辑器打开原文件,查看时不要保存修改。不要用浏览器解析后导出的 HTML 代替原始源码:标准说明,文档元素周围的部分 ASCII 空白可能被丢弃或移动。
相关格式
资料来源
IANA — text/html Media Type Registration · IANA
HTML Standard — Introduction · WHATWG
HTML Standard — The HTML Syntax · WHATWG
HTML Standard — Scripting · WHATWG