這句話正確的描述是:“HTML是用于描述超文本的,網頁是一個超文本資源節(jié)點”猛蔽。
//不要相信任何所謂程序員說的:“HTML是用來做網頁的”剥悟。
HTML和網頁本無聯(lián)系。
建立向女神寢室的信息通信
為了簡化你對復雜的Internet的理解曼库,我們暫時把復雜的Internet抽象成:你向女生宿舍發(fā)送信號区岗。
為了能夠在斷網后繼續(xù)聯(lián)絡女神,你買來了電池和開關毁枯,然后拉了普通電線線到女神的寢室慈缔。
你的女神把小燈泡接在了電線的兩端。
那么种玛,你只需要開閉開關藐鹤,就可以控制女神屋里的燈泡了。
發(fā)送信號
關閉著小燈泡1秒鐘赂韵,代表發(fā)送一個0娱节。
打開了小燈泡1秒鐘,代表發(fā)送一個1祭示。
此時你可以向女神發(fā)送任意二進制內容了肄满。
發(fā)送文本
你只希望發(fā)送一個“Good Night”。
所以你必須想辦法對“Good Night”進行編碼。
'G','o','o','d'的ASCII編碼是:071稠歉,111讥电,111,100
轉換成二進制就是: 0100 0001 0110 1111 0110 1111 0110?0100
使用發(fā)送二進制信號的方法發(fā)過去轧抗,你的女神需要自己解碼來閱讀出“Good”恩敌。
發(fā)送富文本
有一天,你希望發(fā)送“I miss you”横媚。
為了表達心意纠炮,你希望加粗“you”,并使用紅色的字體發(fā)送“miss”灯蝴。
而……這一根簡陋的電線似乎很難理解“加粗”和“紅色”……
不過這難不倒你的恢口。
于是機智你發(fā)送了:I <red>miss</red> <b>you</b>
同樣機智的女神理解了這件事情。
你發(fā)明了一種語言
你很喜歡這種編碼格式穷躁。
這是一種標記語言耕肩,于是你稱其為:TGML (To Girl Markup Language)
平時你使用TGML來和你的女神通信。
TGML可以非常好的解決富文本的傳輸問題问潭。
表白
終于你決定表白了猿诸。
你繪制了很美麗的心形圖片,還有兩個按鈕:接受狡忙、拒絕梳虽。
兩個按鈕分別會鏈接到 "接受.tgml"和"拒絕.tgml"
為了描述圖片,你使用了<img src="pic">
為了描述按鈕灾茁,你使用了<a href="接受.tgml">
現(xiàn)在你發(fā)送給女神的內容窜觉,已經不只是帶格式的富文本,而是帶鏈接的富文本北专。
如果把帶鏈接的富文本叫超文本禀挫。那么……
于是在這個世界上,擁有了一種能夠描述超文本的語言拓颓,叫做TGML
超文本
描述超文本的方式有很多语婴,例如:HTML,TGML录粱,還有markdown腻格。
HTML的誕生是為了描述超文本。
超文本的用途也很多啥繁,例如:描述一個網頁,或者描述一個Word文檔青抛。
HTML文件是超文本文件旗闽。但是超文本未必是HTML。
Microsoft Word
Microsoft Word是Office的一個組件。它同樣代表一個超文本資源适室。
如果你解壓一個docx文件并仔細翻一翻嫡意,你能找到你剛才寫的作業(yè),是以HTML方式記載著捣辆。
當然蔬螟,描述超文本還有markdown。所以你可以使用一些工具汽畴,比如pandoc旧巾,把markdown轉換成word。
故事的結局
你的女神有一個名字忍些,叫瀏覽器鲁猩。
你的名字叫Web服務器。
你們中間的那根線罢坝,叫HTTP廓握,一種用于傳輸超文本的通信協(xié)議。
總結
HTML用于描述超文本嘁酿。描述超文本的語言有很多種隙券。
超文本的用途很多。做網頁只是其中一種闹司。
HTML最初設計時確實是為了做網頁考慮的是尔。但HTML不是做網頁的唯一工具。
探索HTML是如何呈現(xiàn)开仰、渲染還有它強大的功能時拟枚,你只是在探索你的瀏覽器的解碼能力而已。