向你的女神发信息(生动形象解释什么是HTML)

不要相信任何所谓程序员说的:“HTML是用来做网页的”。

这句话正确的描述是:“HTML是用于描述超文本的,网页是一个超文本资源节点”。

HTML和网页本无联系。

建立向女神寝室的信息通信

为了简化你对复杂的Internet的理解,我们暂时把复杂的Internet抽象成:你向女生宿舍发送信号。

为了能够在断网后继续联络女神,你买来了电池和开关,然后拉了普通电线线到女神的寝室。

你的女神把小灯泡接在了电线的两端。

那么,你只需要开闭开关,就可以控制女神屋里的灯泡了。

发送信号

关闭着小灯泡1秒钟,代表发送一个0。

打开了小灯泡1秒钟,代表发送一个1。

此时你可以向女神发送任意二进制内容了。

发送文本

你只希望发送一个“Good Night”。

所以你必须想办法对“Good Night”进行编码。

'G','o','o','d'的ASCII编码是:071,111,111,100

转换成二进制就是: 0100 0001 0110 1111 0110 1111 0110 0100

使用发送二进制信号的方法发过去,你的女神需要自己解码来阅读出“Good”。

发送富文本

有一天,你希望发送“I miss you”。

为了表达心意,你希望加粗“you”,并使用红色的字体发送“miss”。

而……这一根简陋的电线似乎很难理解“加粗”和“红色”……

不过这难不倒你的。

于是机智你发送了:I <red>miss</red> <b>you</b>

同样机智的女神理解了这件事情。

你发明了一种语言

你很喜欢这种编码格式。

这是一种标记语言,于是你称其为:TGML (To Girl Markup Language)

平时你使用TGML来和你的女神通信。

TGML可以非常好的解决富文本的传输问题。

表白

终于你决定表白了。

你绘制了很美丽的心形图片,还有两个按钮:接受、拒绝。

两个按钮分别会链接到 "接受.tgml"和"拒绝.tgml"

为了描述图片,你使用了<img src="pic">

为了描述按钮,你使用了<a href="接受.tgml">

现在你发送给女神的内容,已经不只是带格式的富文本,而是带链接的富文本。

如果把带链接的富文本叫超文本。那么……

于是在这个世界上,拥有了一种能够描述超文本的语言,叫做TGML

超文本

描述超文本的方式有很多,例如:HTML,TGML,还有markdown。

HTML的诞生是为了描述超文本。

超文本的用途也很多,例如:描述一个网页,或者描述一个Word文档。

HTML文件是超文本文件。但是超文本未必是HTML。

Microsoft Word

Microsoft Word是Office的一个组件。它同样代表一个超文本资源。

如果你解压一个docx文件并仔细翻一翻,你能找到你刚才写的作业,是以XML方式记载着。

当然,描述超文本还有markdown。所以你可以使用一些工具,比如pandoc,把markdown转换成word。

故事的结局

你的女神有一个名字,叫浏览器。

你的名字叫Web服务器。

你们中间的那根线,叫HTTP。

总结

HTML用于描述超文本。描述超文本的语言有很多种。

超文本的用途很多。做网页只是其中一种。

HTML最初设计时确实是为了做网页考虑的。但HTML不是做网页的唯一工具。

探索HTML是如何呈现、渲染还有它强大的功能时,你只是在探索你的浏览器的解码能力而已。

 

=====小字=====

 

*后注:html一般不是ASCII编码,而是utf-8

*HTTP除了要传输内容,还要传输状态码,头,地址等很多信息。上面的文字只是简化了这个模型。

*<Red>不是合法的html标签

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值