技术常识错误之 “HTML是用来做网页的” (2)

这句话正确的描述是:“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”。


技术常识错误之 “HTML是用来做网页的” (2)_第1张图片

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

不过这难不倒你的。

于是机智你发送了:I miss you

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

你发明了一种语言

你很喜欢这种编码格式。

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

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

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

表白

终于你决定表白了。

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


技术常识错误之 “HTML是用来做网页的” (2)_第2张图片

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

为了描述图片,你使用了

为了描述按钮,你使用了

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

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

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

超文本

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

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

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

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

Microsoft Word

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

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

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

故事的结局

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

你的名字叫Web服务器。

你们中间的那根线,叫HTTP,一种用于传输超文本的通信协议。

总结

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

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

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

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


你可能感兴趣的:(技术常识错误之 “HTML是用来做网页的” (2))