什麼是網站:小白web入門教程,以一個類比開始

摘要:身處移動互聯網時代,我們早已習慣了互聯網帶給我們的便利,甚至把這當作理所當然。如果你仍像童年時對未知充滿好奇,不妨跟著我一起了解這一神奇技術背後的機理。本文嘗試用淺顯易懂的筆調,為您揭開互聯網的神奇面紗。

什麼是web(網站)?

我們先來一段維基百科的官方解釋:

萬維網(英語:World Wide Web),亦作「WWW」、「Web」,是一個由許多互相鏈接的超文本組成的系統,通過互聯網訪問[1]。英國科學家蒂姆·伯納斯-李於1989年發明了萬維網。1990年他在瑞士CERN的工作期間編寫了第一個網頁瀏覽器[2][3]。網頁瀏覽器於1991年在CERN向外界發表,1991年1月開始發展到其他研究機構,1991年8月在互聯網上向公眾開放。~維基百科

對於超文本大家或許有些陌生,他是超級文本的簡稱,其本質是具有特定結構的文本。文本我們好理解,在工作中我們常用的word,ppt,excel就是文本,那麼「超文本」到底超級在哪裡呢?

普通的文本我們只能對其編輯,保存,用來表達觀點或記錄信息。但超文本除了具有上述功能外,還具有「鏈接」的能力,即從一個文本跳轉到另一個文本。不要小看了這一能力,他是構成互聯網的必備要素

國人常說的關係,其實就是「鏈接」的延伸。生活中「關係」越多的人,往往也掌握了更多的資源(錢)。同理鏈接越多、越複雜,超文本價值也越大。

舉個前段時間網上流傳的例子:一個明星剛回國,不知道北京實行單雙號限行,結果駕駛證直接被交警拿走,一去不回。她被丟在路中間,不知所措,沒了駕駛證,也不敢開車,後來托「關係」才把駕駛證要回來。這對於明星可能才有這種關係,若是換做普通人,想必就沒這份待遇了。

跑偏了,意思就是:有關係好辦事,「鏈接」產生價值。當我們身邊的人不足以搞定某件事時,可以托我們身邊人的關係搞,甚至身邊人關係的關係。此時,關係之間錯綜複雜,形成「關係網」,這裡類比到「鏈接」上,就是「互聯網」。

網站是如何運作的?

我們託人辦事,總要上下打點,通融通融。一般的過程是這樣的(純屬虛構)

明星:趙哥,我的駕駛證被扣了,能幫我擺平嗎?(查詢

趙哥:這個沒問題老妹,我的大表哥的二舅的三姨夫在交警隊,一個電話的事,不過……(請求

明星:我懂,趙哥,這託人辦事免不了上下打點,我這有兩千塊錢,你看著處理下。(授權

趙哥:老妹爽快人,我去處理下,很快就給你回信。(處理

過了幾個小時……

趙哥:(電話)老妹,已經搞定,這就給你送過去。(返回

其實上述過程就是網站的工作原理,我們在瀏覽器的每次點擊需要經過上述過程(有簡化):到域名伺服器(DNS)查詢該域名對應的ip,根據ip請求伺服器,伺服器授權通過後,處理請求,請求返回

例如,我們要訪問:八陣圖網路科技有限公司,看關於網站開發之類的文章。

1.解析主機名

那麼我們首先點擊上述鏈接。瀏覽器拿到網址之後首先會將主機名解析出來,如http://www.bazhentu.net/index.html則會將主機名www.bazhentu.net解析出來。

2.在DNS伺服器上查找ip

根據主機名,會首先查找IP,首先查詢hosts文件,成功則返回其對應ip地址,如果沒有查詢到,則去查詢DNS伺服器,成功就會返回ip,否則會報告連接錯誤。

3.發送http請求

瀏覽器會把自身相關信息與請求相關信息封裝成HTTP(一種協議)請求消息發送給伺服器。

4.伺服器處理請求

伺服器讀取HTTP請求中的內容,在經過解析主機,解析站點名稱,解析訪問資源後,檢查是否授權,會查找相關資源,如果查找成功,則返回狀態碼200,失敗就會返回大名鼎鼎的404。

5.伺服器返回HTTP響應,瀏覽器解析

伺服器會將請求的資源封裝成http響應(超文本或者json之類的格式),瀏覽器得到返回數據後可以會提取數據,然後調用解析內核進行翻譯,最後顯示出頁面。當然處理超文本HTML這裡還涉及到讓界面變美的CSS以及讓美動起來的js技術。

圖片來自csdn

上述過程看似簡單,但卻涉及的很多細節,在之後文章會詳細展開,這裡需明確幾個概念。

首先是瀏覽器:無論電腦瀏覽器還是手機瀏覽器或者微信甚至某些app都有內置的瀏覽器,我們若想進入web世界必須要藉助他們。瀏覽器的主要目的是發起請求並將返回的超文本可視化,即解析成我們肉眼能夠識別的色彩斑斕的網頁。

其次是伺服器:伺服器能夠根據瀏覽器的請求,執行特定的行為,前提是你要有通行證即授權(有些不需要授權),並把處理結果以某種格式(一般是超文本或者別的數據格式,例如json、xml等)返回給瀏覽器。

還有DNS伺服器:它其實類似一個電話簿,裡面記錄了所有域名對應的ip信息。為什麼不直接用ip呢?其實有的服務確實是直接用ip的,例如某些校園網,但更多的用域名。使用域名一方面讓用戶容易記憶,另一方面當伺服器不可用時,直接更換伺服器即可,無需通知用戶。(忽略了某些細節)

明確了以上概念,我們對web也算有了基本了解。如果還不盡興可以關注我,看接下來的文章。我將從技術角度講解web的組成,有志於學習web開發的不容錯過。


推薦閱讀:

現在網站設計流行什麼?幾何元素!
原來漂亮的網站圖片排版是這麼來的!
網頁不會布局?5種你不可不知的WEB布局方式
網站建設—6 ICP備案 最關鍵的一步
設計技巧之網頁中的字間距

TAG:網頁設計 | 前端開發 | Web開發 |