什麼是HTTP及相關知識

2021-09-19 10:10:48 字數 1404 閱讀 3494

一種通訊協議

被各類智慧型終端(手機、電腦、智慧型電視等等)使用

http客戶端發起請求,建立到伺服器指定埠的tcp連線。

http伺服器在埠監聽客戶端請求

http伺服器向客戶端返回狀態(eg:狀態碼200)和內容

chorme搜尋自身的dns快取(可以在chrome中輸入chrome://net-internals/#dns)

搜尋作業系統自身的dns快取(瀏覽器沒有找到快取或者快取已經失效)

讀取本地的host檔案

瀏覽器髮器乙個dns的乙個系統呼叫(寬頻運營商提供的api)

寬頻運營商伺服器檢視本身快取

運營商伺服器髮器乙個迭代dns解析請求,比如訪問網域名稱為vagor.cc迭代方式如下:

先訪問根域dns的ip位址,得到了.cc域的ip位址(即持有.cc的組織)

再訪問.cc域的ip位址,得到了vagor.cc域的ip位址(即類似於萬網的網域名稱提供商)

再訪問vagor.cc域的ip位址,找到了vaogr.cc的ip位址

運營商伺服器把結果返回作業系統核心同時快取起來,再返回給瀏覽器

最後瀏覽器拿到了vagor.cc的ip位址

瀏覽器獲得網域名稱對應的ip位址後,發起tcp/ip的「三次握手」。這裡不詳細贅述,請檢視鏈結

tcp/ip連線建立起來後,瀏覽器就可以向伺服器傳送http請求使用了

比如說,用http的get方法請求根域裡的乙個網域名稱,協議建議採用http 1.0的乙個協議

伺服器端接收到了這個請求,根據路徑引數,進過後端的一些處理之後,把處理後的乙個結果的資料返回給瀏覽器,如果是網頁頁面,就會把完整的html頁面**返回給瀏覽器

瀏覽器拿到了完整的html頁面**,在解析和渲染這個頁面的時候,裡面的js,css,靜態資源,他們同樣也是乙個個http請求,都需要經過上面的主要七個步驟

瀏覽器拿到所有資源,進行渲染,最終把乙個完整的頁面呈現給使用者

請求頭包含狀態碼,通訊方式,……

請求體(內容)

get 向伺服器獲取資源

post 向伺服器提交資源

put 向伺服器更新資源

delete 向伺服器刪除資源

head

trace

options

connect

1xx 請求已接受,繼續處理

2xx 請求已處理成功

3xx 重定向,需要進一步指令

4xx 客戶端錯誤(eg:請求語法錯誤)

5xx 伺服器錯誤

200 成功

400 客戶端語法錯誤

401 未授權

403 已收到請求,拒絕

404 沒找到檔案

500 伺服器發生不可知錯誤

503 伺服器端當前還不能處理請求

HTTP基礎及相關知識

http是基於客戶 伺服器模式,且面向連線的。典型的http事務處理有如下的過程 1 客戶與伺服器建立連線 2 客戶向伺服器提出請求 3 伺服器接受請求,並根據請求返回相應的檔案作為應答 4 客戶與伺服器關閉連線。客戶與伺服器之間的http連線是一種一次性連線,它限制每次連線只處理乙個請求,當伺服器...

http 相關知識

1.http1.1協議 主要是增加了持久連線的技術,瀏覽器訪問乙個web頁面時,會根據返回的html頁面解析,如果遇到比如img,css或者js檔案時,它會發起後續的http請求去獲取資源,每一次都會有tcp的建立和關閉,很消耗效能。來自所以http1.1提出了持久化連線的概念,只需要建立一次連線,...

HTTP相關知識

一.http協議的定義 二.http協議的特點 2.多次http請求 在客戶端請求網頁時多數情況下並不是一次請求就能成功的,服務端首先是響應html頁面,然後瀏覽器收到響應之後發現html頁面還引用了其他的資源,例如,css,js檔案,等等,還會自動傳送http請求這些需要的資源。現在的http版本...