作為一名前端開發者,瞭解網際網路和瀏覽器的相關知識是極其有必要的,因為我們所有開發出來的網站全部以網際網路和瀏覽器為基礎的。
關於網際網路
網際網路到底是什麼?對於網站普通使用者來說,它可能就是寬頻、購物網站、娛樂媒介以及資訊檢索工具,那麼網際網路最早誕生於什麼時間呢,或者受它的由來是怎樣的呢?我們知道20世紀90年代,我國開始進入網際網路時代,諸如百度、新浪等最早的一批網際網路企業大都在這個時候出現,但是網際網路不是一個全新突然出現的過程,網際網路的出現要從 TCP/IP 的出現談起。
1974年,幾位天才計算機研究員一起發明了一種技術,叫做“網際網路協議組”,這種技術又叫做“TCP/IP”。那麼這個技術是幹什麼用的呢?通俗點理解,它是一種屬於計算機的交流規則,就像人與人之間可以通過語言的規則來交流一樣,中國人和美國人可能由於語言規則的不一致無法交流,人和動物也無法交流,兩個計算機自然無法交流,所以這種技術應運而生,使計算機之間擁有了這項功能,並且可以互相傳送資訊。
所以說,這項技術可以這樣解釋:這是一套使計算機可以彼此通訊的規則。
擁有了這項技術後,在地球各個角落的計算機可以互相通訊,共享資源,這種通訊的規模逐漸擴大,網際網路就誕生了,也就是我們常講的 Internet,故而也叫因特網。當然,網際網路並不是一開始就如此普及,事實上,最早的網際網路的規模化使用是1986年,美國國家科學基金會建立的一些大學之間互聯的骨幹網路NSFNET,而一直到了1995年,網際網路才被投入商業使用。
可以說,網際網路的誕生讓這個世界更加開放,我們可以通過 Email 等網際網路技術傳送檔案和資訊,我們看到的視訊和遊戲,都是來自於世界上各個角落上傳於網際網路的共享資源。
網際網路的世界相當於一個獨立於物理世界的平行空間,整個網際網路形成了一個巨大的資源池,我們計算機上的資源可以上傳到雲端,脫離硬體裝置的拘束(當然沒有硬體是不行的)。這些資料我們可以在能夠訪問網路的任何時間任何地點,只要擁有一臺能夠聯網的儀器就可以獲取到。
當然,僅僅擁有網際網路,我們還是不能夠實現許多功能,這個時候,網路應用程式應運而生,我們常見的 Email、微博之類的就是網路應用程式。藉助於這些網路應用程式,我們可以實現更多的功能。
網際網路就是全球資訊網?
我們知道,今天我們在瀏覽器中瀏覽的網頁都屬於全球資訊網的一部分,全球資訊網,也就是 World Wide Web,所以又被稱為 "WWW" 或者 "Web",它在1993年被髮明,是由許多互相連結的超文字組成的龐大系統,如同網際網路的 TCP/IP 協議一樣,全球資訊網上的超文字通過超文字傳輸協議來互聯,而使用者通過點選超連結來接收資源。全球資訊網是由全球資訊網聯盟(World Wide Web Consortium,簡稱 W3C)負責維護。所以說,全球資訊網其實是網際網路的一部分,全球資訊網以瀏覽器為載體,實現了超文字的連結。而執行在瀏覽器中的這些超文字檔案,進行組織實現一定的功能意義,也就是我們常說的網際網路應用,也就是網站。
Web 應用
最早的網站通過 HTML 語言來實現基本架構,HTML 是一種超文字標記語言,它通過一些語義化的標籤來實現網頁內容的呈現。例如為了在網頁上呈現一個段落,我們用一個成對的<p>段落內容</p>
標籤(也就是paragraph的簡寫)來呈現。同理,為了呈現一個圖片,可以用<img src="圖片路徑"/>
來實現。後來,CSS 的出現可以賦予網頁元素一定的樣式,例如,前面提到的段落,我們通過 CSS 來賦予其漂亮的外觀,顏色、字型、自豪、行高等,圖片可以通過 CSS 定義其大小,圓角,陰影等效果,以及這些元素在網頁上如何佈局,都可以通過 CSS 實現,而我們在網站上看到的一些動態效果,例如輪播圖以及滑鼠點選時候的響應,則是通過指令碼語言 JavaScript 來實現。
所以,早期的網站由基本的 HTML、CSS 以及 JavaScript 組成,大多用於呈現資訊,所以都是靜態的。而具備互動功能的的動態網頁,一直到 Ajax 的出現才得以實現,Ajax 是一種無需重新整理整個網頁,就可以修改區域性網頁內容的技術,它可以藉助於 JavaScript 的 XMLHttpRequest 物件來實現。Ajax 技術最早出現於 Google 的 Gmail 郵箱以及地圖服務,當我們拖動地圖時,不必重新從伺服器下載整個地圖,而是隻下載瀏覽部分的地圖,這項技術的出現使網站的互動性和效能大大增強。
當然,前面提到的這些可不是一個 Web 應用的全部內容,這只是使用者看到的一部分,或者說是屬於 Client,也即是客戶端的部分,而一個網站最基本的是網站前臺,也就是我們前面提到的客戶端部分,也即網站後臺,乃是伺服器和資料庫部分。如果從物理空間角度來解釋的話,網站也可以由域名,網站原始碼以及網站空間組成。域名,也就是我們常講的網站,原始碼是 Web 開發人員通過程式設計讓計算機解析為網站的原始碼檔案,網站原始碼一般由前面提到的 HTML/CSS/JavaScript以及一些後端語言如 PHP/ASP/JSP/.NET/Python 等。網站空間,也就是存放網頁檔案的地方,一般指網站主機。
瞭解了網際網路,以及網路應用,那麼,這些網路應用是如何在瀏覽器中工作的呢?請看下一篇。