在学习前端开发或者理解互联网工作原理的过程中,我们经常会遇到三个非常重要的概念:HTML、XML 和 JSON。它们看起来有点像,但其实干的事情完全不同。
名称 | 全称 | 诞生时间 | 谁发明的 | 用途 |
---|---|---|---|---|
HTML | HyperText Markup Language | 1991 | Tim Berners-Lee(万维网之父) | 构建网页 |
XML | eXtensible Markup Language | 1998 | W3C(万维网联盟) | 存储/传输结构化数据 |
JSON | JavaScript Object Notation | 2001(流行于2005年后) | Douglas Crockford | 数据交换,前后端通信 |
是的,三者都使用了“结构化的标记”或“对象形式”,但内容和目的是完全不同的!
<h1>用户信息h1>
<p>姓名:小明p>
<p>年龄:18p>
<user>
<name>小明name>
<age>18age>
user>
{
"name": "小明",
"age": 18
}
项目 | HTML | XML | JSON |
---|---|---|---|
用来干嘛? | 构建网页,给人看 | 存数据、传数据,给程序用 | 前后端通信传数据 |
目标对象 | 浏览器、人类 | 系统、机器、开发者 | JavaScript、前端、后端 |
能不能显示页面? | ✅ 可以 | ❌ 不行 | ❌ 不行 |
可读性 | ✅ 人能读 | ✅ 稍复杂 | ✅ 简洁易读 |
是否轻量 | ❌ 偏重 | ❌ 偏重 | ✅ 超轻量 |
常用场景 | 网页开发 | 配置文件、旧系统数据交换 | Web 接口、前端开发 |
可以这么理解:
想象你点了一份外卖:
特点/比较 | HTML | XML | JSON |
---|---|---|---|
是否用于展示 | ✅ 是 | ❌ 否 | ❌ 否 |
是否用于存/传数据 | ❌ 否 | ✅ 是 | ✅ 是 |
是否自定义标签 | ❌ 否(固定) | ✅ 是 | ❌(对象结构) |
语法复杂度 | 中等 | 高 | 低 |
是否人/机器都能读 | ✅ 是 | ✅ 是 | ✅ 是(更轻) |
使用频率(现代开发) | ✅ 高 | ⬇ 减少 | ✅ 非常高 |
常见在哪些地方 | 网页结构 | 配置、文档、老系统 | 前后端接口,移动开发 |
- HTML 负责网页的“外貌”
- XML 和 JSON 负责网页的“内容”
- XML 是过去的数据格式标准,适合严谨的场景
- JSON 是今天最流行的数据交换格式
- 三者各有用途,配合使用,构成现代互联网的基础