從在瀏覽器輸入網址,到能看到網頁,雖然可能只有短短的0.1秒,但這其中計算機執(zhí)行了多少條命令,網頁又經過了怎樣的迂回曲折才呈現(xiàn)在你的面前的呢?
通常情況下,瀏覽器在一臺計算機上,而顯示的網頁在另外一臺計算機上,它們之間通過網絡連接。
網址表示想要訪問的頁面,不同網址會對應不同頁面。網址中包含域名,域名一般以www開始,以.cn或者.com,.org等結尾,同一個域名下可以有多個網址。
網絡是由多臺計算機組成的,如何定位到其中的一臺計算機呢?可以給計算機編號,由此ip地址應運而生。當前使用的大部分ip地址說ipv4地址,ipv4由32位組成,為方便書寫用點分隔成4段,每段8位,2的8次方等于256,所以每一位的范圍是0-255,ipv4總共有43億個地址。
那么域名和ip地址又是怎么對應起來的呢,對于瀏覽器來說,輸入網址后,它會從網址中取出域名,然后通過訪問DNS獲得域名對應的ip地址。DNS表示域名服務器,可以理解為DNS有一張表,表中記錄了所有的域名和ip地址的對應關系,只要你給我域名,我給你查出對應的ip地址。
你的計算機拿到另外一臺計算機的ip地址后,你的計算機就會將你的請求發(fā)送給ip地址對應的那臺計算機,其他計算機也會發(fā)出同樣的請求,這樣的請求都通過網絡來到了這臺目標計算機,像這樣的被其他計算機訪問的計算機,稱為服務器。
一臺服務器上可以同時提供多種不同的服務:Web服務,也就是提供網頁;FTP服務,提供文件存儲和訪問;郵件服務,提供電子郵件收發(fā),這些服務分別由不同的服務器程序來完成。但是一個網絡請求來到服務器,服務器怎么知道這個請求想要什么服務呢?
瀏覽器發(fā)送請求時可以攜帶信息給服務器,告訴服務器獲取哪種服務就可以了。那這個信息在計算機系統(tǒng)其實就是“端口號”。
我們在使用瀏覽器時,沒有用過端口號。實際上在發(fā)送請求時,如果是獲取網頁,瀏覽器自動添加了默認端口。
通過剛才的一系統(tǒng)步驟,瀏覽器端的請求已經找到了服務器這臺計算機,并且由服務器上某個具體的服務器程序來處理請求。然后服務器程序根據網址中不同的路徑或者文件名給瀏覽器返回對應的頁面。
當服務器返回的內容通過網絡到達瀏覽器,經由瀏覽器解析后就顯示出來。這里,將服務器給瀏覽器返回的內容,稱之為響應。
從輸入網址開始到看到網頁的整個流程就是這樣的,對于計算機和網絡來說,這些事情可能只用了0.1秒,但要理解這個流程,還是要花些功夫的。