文/神們自己* 圖/視覺中國
打開瀏覽器,我們就進入了互聯網世界?;ヂ摼W是由全球范圍內的計算機組成的網絡,通過標準的通信協議交換信息。簡而言之,互聯網是一個大型的計算機網絡,讓我們可以通過電子設備彼此連接。
你可能很難想象,蒂姆·伯納斯·李在20 世紀80年代第一次發(fā)明互聯網時,他的同事們竟然不知道這是一個即將改變世界的發(fā)明。沒有人想到,短短幾十年后,互聯網就成為每個人生活中不可或缺的部分?;ヂ摼W技術本身只是改變世界的工具,而真正改變世界的,是使用互聯網的每一個人。
當我們在瀏覽器中輸入網址時,該網址實際上是一個域名。但計算機并不能理解這個域名,所以這時會發(fā)生一個叫作“域名解析”的過程,要用到DNS(Domain Name System,域名解析系統(tǒng))。
DNS 就像一個囊括互聯網世界的電話簿,它將域名映射到相應的IP 地址中。當我們在瀏覽器中輸入域名時,瀏覽器會向我們的計算機或路由器中內置的DNS 服務器發(fā)送一個查詢請求,詢問該域名對應的IP 地址。如果DNS 服務器有這個域名對應的IP地址緩存,就會直接返回;否則,DNS 服務器會向其他DNS 服務器發(fā)送查詢請求,直到找到域名對應的IP地址為止。
DNS 是一個分布式的系統(tǒng),它由成千上萬臺位于世界各地的計算機和服務器組成。當我們訪問一個從未訪問過的網站時,域名解析需要一點時間(雖然很短),而電腦會緩存之前的域名解析結果,當我們再次訪問該網站時,速度就會快得多。
瀏覽器獲取域名對應的IP 地址后,就可以建立與服務器的連接,發(fā)送請求,并獲取響應。這樣,我們才能看到想要的網頁或使用應用程序。DNS 是互聯網中至關重要的一部分,如果沒有它,我們就得記住所有網站的IP 地址才能上網——這是一件不可能的事情!
上網的本質就是聊天——計算機與計算機之間的聊天。我們點擊鼠標,讓電腦通過網線向另一臺電腦(服務器)發(fā)送一個問題(比如網址),那臺電腦(服務器)給你的電腦發(fā)送了一個回答(比如網頁信息),我們再點擊鼠標,繼續(xù)發(fā)送新的問題……
網站其實就是一堆不同類型的文件的集合,包括Web 頁面、圖片、視頻等。當我們用瀏覽器訪問網站時,服務器就會向我們的電腦回以這些文件信息,讓我們的電腦把這堆文件下載下來。瀏覽器讀取這些文件,處理后顯示在電腦屏幕上,變成我們看到的網頁內容。
瀏覽器能夠讀取帶有HTML 標記的文件。HTML是超文本標記語言(Hyper Text Markup Language)的縮寫,它是Web 頁面編程的基礎,HTML 標記被用來描述網頁的內容和結構。當瀏覽器發(fā)送請求后,服務器會將帶有HTML 標記的文件發(fā)送回瀏覽器,瀏覽器會解析這些HTML 標記,并顯示出網頁內容。HTML 標記是一對尖括號標記出來的元素,如 表示文檔結束, 表示頭部信息, 表示網頁主體,等等。這些標記簡單易用,讓開發(fā)人員可以方便地創(chuàng)建網站頁面。
如果有1 億人訪問百度網站,搜索不同的關鍵詞,按理說,百度服務器應該準備1 億份不同的文件,但這樣做既不現實,也毫無必要。每個人看到不同的網頁結果是服務器從數據庫中讀取不同的數據,并通過算法處理后實時生成的。生成這些內容的程序稱為“后端”,包括網站后臺的代碼和數據庫,在服務器上運行。而服務器發(fā)送到我們電腦的程序文件則是后端輸出或生成的內容,它在我們的電腦中運行,稱為“前端”。
像百度這樣服務10 億多用戶的大型網站,需要用大量服務器組成分布式集群,每一個服務器都在參與計算、提供服務,即使有幾個服務器突然死機了,也不會對整體造成任何影響,網站仍然能夠正常運行。這就是“云計算”解決的問題。
云計算是指使用互聯網提供的各種計算資源來管理、存儲和處理數據的方式。云計算是一種相對較新的技術,它將計算資源(如處理器、存儲器等)分布在全球范圍內的數據中心中,并通過互聯網進行連接。用云計算來托管和運行網站與程序,是一種高度可伸縮、高度可靠且安全性強的方式。
云計算有多種形式,其中最常見的是基于虛擬化技術的云計算。在基于虛擬化的云計算中,物理服務器被劃分為多個虛擬機,每個虛擬機可以運行不同的操作系統(tǒng)和程序。如果不用虛擬化技術,當程序運行出錯時,可能會導致操作系統(tǒng)死機。但是,如果我們用虛擬化技術,在一臺物理服務器中運行N 個操作系統(tǒng),某個操作系統(tǒng)的出錯或者死機被隔離在服務器內部,就不會造成物理服務器的死機。而且,每個虛擬機可以隨時啟動、關閉、升級或降級配置,從而實現資源的高度可伸縮性和靈活性運用。
互聯網已經成為我們日常生活中不可或缺的一部分,我們早已習慣了通過它與朋友聊天、聽音樂、看視頻、玩游戲……如果你對互聯網和計算機科學感興趣,不妨嘗試自學一些編程知識,以便更深入地了解互聯網背后的工作原理,同時也可以為個人發(fā)展乃至職業(yè)生涯打下堅實的基礎。