一次完整的HTTP事務是怎樣乙個過程

2021-09-20 14:22:36 字數 1394 閱讀 1873

了解http headers的方方面面 

(2).如果瀏覽器自身的快取裡面沒有找到對應的條目,那麼chrome會搜尋作業系統自身的dns快取,如果找到且沒有過期則停止搜尋解析到此結束. 注:怎麼檢視作業系統自身的dns快取,以windows系統為例,可以在命令列下使用 ipconfig /displaydns 來進行檢視

tcp3ci.png

tcp.png

11.png

舉個例子:

假設乙個老外在故宮裡面迷路了,看到了小明,於是就有下面的對話:

老外: excuse me,can you speak english?小明: yes 。老外: ok,i want ...

目前在internet中所有的傳輸都是通過tcp/ip進行的,http協議作為tcp/ip模型中應用層的協議也不例外,tcp是乙個端到端的可靠的面向連線的協議,所以http基於傳輸層tcp協議不用擔心資料的傳輸的各種問題。

2.png

3.png

uri uniform resource identifier 統一資源識別符號url uniform resource locator 統一資源定位符 格式如下: scheme://[username:password@]host:port/path/to/source  uniform resource name 統一資源名稱url和urn 都屬於 uri為了方便就把url和uri暫時都通指乙個東西

有以下幾種:

http/0.9: statelesshttp/1.0: mime, keep-alive (保持連線), 快取http/1.1: 更多的請求方法,更精細的快取控制,持久連線(persistent connection) 比較常用

4.png

5.png

6.png

假設伺服器端使用nginx+php(fastcgi)架構提供服務

1 nginx讀取配置檔案

我們在瀏覽器的位址列裡面輸入的是  (http://可以不用輸入,瀏覽器會自動幫我們新增),其實完整的應該是[./](./) 後面還有個點(這個點代表就是根域,一般情況下我們不用輸入,也不顯示),後面的/也是不用新增,瀏覽器會自動幫我們新增(且看第3部那個圖裡面的url),那麼實際請求的url是/,那麼好了nginx在收到 瀏覽器 get / 請求時,會讀取http請求裡面的頭部資訊,根據host來匹配 自己的所有的虛擬主機的配置檔案的server_name,看看有沒有匹配的,有匹配那麼就讀取該虛擬主機的配置,發現如下配置:

六.瀏覽器對頁面進行渲染呈現給使用者

最後,瀏覽器利用自己內部的工作機制,把請求到的靜態資源和html**進行渲染,渲染之後呈現給使用者。

自此一次完整的http事務宣告完成.

一次完整的HTTP事務是怎樣乙個過程?

當我們在瀏覽器的位址列輸入 www.linux178.com 然後回車,回車這一瞬間到看到頁面到底發生了什麼呢?以下過程僅是個人理解 網域名稱解析 發起tcp的3次握手 建立tcp連線後發起http請求 伺服器響應http請求,瀏覽器得到html 瀏覽器解析html 並請求html 中的資源 如js...

一次完整的HTTP事務

http通訊機制是在一次完整的http通訊過程中,web瀏覽器與web伺服器之間將完成下列7個步驟 1.建立tcp連線 在http工作開始之前,web瀏覽器首先要通過網路與web伺服器建立連線,該連線是通過tcp來完成的,該協議與ip協議共同構建internet,即著名的tcp ip協議族,因此in...

一次完整的HTTP請求是怎樣的

一次完整的http請求過程從tcp三次握手建立連線成功後開始,客戶端按照指定的格式開始向服務端傳送http請求,服務端接收請求後,解析http請求,處理完業務邏輯,最後返回乙個http的響應給客戶端,http的響應內容同樣有標準的格式。無論是什麼客戶端或者是什麼服務端,大家只要按照http的協議標準...