瀏覽器通過http獲取服務器資源的過程


在 HTTP 客戶端向服務器發送報文之前,需要用在客戶端服務器之間建立一條 TCP/IP 連接

要想建立TCP/IP 連接連接,需要知道服務器的 IP 地址以及與服務器上運行的特定軟件相關的 TCP 端口號

但最初怎么獲得 HTTP 服務器的 IP 地址和端口號呢?

當然是通過 URL 了!我們前面曾提到過,URL 就是資源的地址,所以自然能夠為我們提供存儲資源的機器的 IP 地址。我們來看幾個 URL:

http://207.200.83.29:80/index.html

http://www.netscape.com:80/index.html

http://www.netscape.com/index.html

第一個 URL 使用了機器的 IP 地址,207.200.83.29 以及端口號 80。

第二個 URL 沒有使用數字形式的 IP 地址,它使用的是文本形式的域名,或者稱為主機名www.netscape.com)。

  主機名就是 IP 地址比較人性化的別稱

  可以通過一種稱為域名服務(Domain Name Service,DNS)的機制方便地將主機名轉換為 IP 地址,這樣所有問題就都解決了。

最后一個 URL 沒有端口號。HTTP 的 URL 中沒有端口號時,可以假設默認端口號是 80

有了 IP 地址和端口號,客戶端就可以很方便地通過 TCP/IP 進行通信了。

 

瀏覽器是怎樣通過 HTTP 顯示位於遠端服務器中的某個簡單 HTML 資源的?

步驟如下:

(a) 瀏覽器從 URL 中解析出服務器的主機名;

(b) 瀏覽器通過域名解析機制將服務器的主機名轉換成服務器的 IP 地址;(如何直接使用了IP而不是域名,a,b步驟可省略)

(c) 瀏覽器將端口號(如果有的話)從 URL 中解析出來;

(d) 瀏覽器通過IP地址和端口號建立一條與 Web 服務器的 TCP 連接;

(e) 瀏覽器向服務器發送一條 HTTP 請求報文;

(f) 服務器向瀏覽器回送一條 HTTP 響應報文;

(g) 關閉連接,瀏覽器顯示文檔。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM