Web請求過程

2021-09-24 07:43:39 字數 2544 閱讀 8386

從http結構到dns解析到cdn架構,了解web請求的具體過程。

與傳統的c/s架構的長連線互動模式不同,http採用了無狀態的短連線通訊方式。一次請求完成一次資料互動,然後斷開通訊。這樣做的原因是為了可以同時服務更多的使用者,不可能每次乙個使用者訪問一次就一直保持這個長連線。

其實發起乙個http鏈結的本質就是建立乙個socket通訊,只不過在寫進二進位制位元組資料格式要符合http。

http的解析主要看http header,它表達了瀏覽器的行為和服務端的執行。 先說說request header

header

解釋accept

指定客戶端能夠接收的內容型別

accept-charset

瀏覽器可以接受的字元編碼集

accept-encoding

指定瀏覽器可以支援的web伺服器返回內容壓縮編碼型別

accept-language

瀏覽器可接受的語言

accept-ranges

可以請求網頁實體的乙個或者多個子範圍字段

authorization

授權的授權證書

cache-control

指定請求和響應遵循的快取機制

connection

表示是否需要持久連線

cookie

http請求傳送時,會把儲存在該請求網域名稱下的所有cookie值一起傳送給web伺服器

content-length

請求的內容長度

date

請求傳送的日期和時間

expect

請求的特定的伺服器行為

from

發出請求的使用者的email

host

指定請求的伺服器的網域名稱和埠號

range

只請求實體的一部分,指定範圍

user-agent

user-agent的內容包含發出請求的使用者資訊

via通知中間閘道器或**伺服器位址,通訊協議

warning

關於訊息實體的警告資訊

header

解釋server

web伺服器軟體名稱

expires

響應過期的日期和時間

content-md5

返回資源的md5校驗值

content-length

響應體的長度

content-location

請求資源可替代的備用的另一位址

content-encoding

web伺服器支援的返回內容壓縮編碼型別

transfer-encoding

檔案傳輸編碼

keep-alive

鏈結保持時間

狀態碼解釋

200客戶端請求成功

302跳轉

400請求有語法錯誤,伺服器無法識別

403伺服器收到請求但拒絕服務

404請求的資源不存在

500伺服器發生不可預期的錯誤

若頁面有異常可能是瀏覽器的快取機制,可用ctrl+f5組合鍵重新整理介面,瀏覽器會向目標url傳送請求而不使用瀏覽器自己快取的資料。但即使如此也可能訪問到的是快取的資料,因為可能在伺服器的前端部署了乙個快取伺服器。

檢查快取中有沒有網域名稱解析過的ip位址,有則解析結束,沒有則第二步

查詢作業系統快取中有沒有網域名稱解析的結果,有則解析結束,沒有則第三步

作業系統把這個網域名稱發給ldns(本地網域名稱伺服器),這個dns通常提供乙個本地網際網路接入的dns解析服務,很多網域名稱解析過程到這裡已經完成了,ldns承擔了主要的網域名稱解析工作。若沒有,則第四步

到根網域名稱伺服器進行解析,它返回給ldns乙個頂級域伺服器的位址。如.com.cn.org

ldns向這個頂級域伺服器傳送請求

頂級域伺服器接收到請求,查詢,返回這個網域名稱對應註冊的網域名稱伺服器,也就是說,網域名稱的解析任務交由網域名稱提供商的伺服器來完成

網域名稱提供商的伺服器查詢乙個儲存網域名稱和對應ip的對映表,發給ldns伺服器這個網域名稱和對應的目標ip記錄

ldns伺服器將這個網域名稱和對應的目標ip記錄,快取在本地系統快取中,解析結束。

mx記錄:mail exchange,可將某個網域名稱下的郵件伺服器指向自己的郵件伺服器

cname記錄:canonical name,可以為乙個網域名稱設個多個別名

ns記錄:這個網域名稱有指定的dns伺服器進行解析

txt記錄:為網域名稱設定說明

cdn:內容分布網路(content delivery network),是一種流量分配網路,在現有網路架構的基礎上增加了一次新的架構,使使用者可以在網路這就近取得所需的內容。實質就是使用公司自己的dns解析伺服器將這個網域名稱重新cname到另乙個網域名稱,指向整個cdn中的dns負載均衡伺服器,返回給離這個訪問使用者最近的cdn節點。

負載均衡(load balance)平衡工作任務到多個操作單元執行,最終共同完成工作任務。

負載均衡的架構有鏈路負載均衡,集群負載均衡,作業系統負載均衡。

原理:在cdn的dns解析中,通過動態鏈路檢測,尋找回源(找到幾個對應的cdn節點)最好的一條路徑,再通過dns排程,將所有請求排程到所選定的這條路徑上進行回源。

Web請求過程

當使用者在瀏覽器中輸入乙個url 如www.baidu.com 進行網頁瀏覽時,將會發生一系列的操作。大致流程如下 1 網域名稱解析 當使用者輸入網域名稱後,需要將網域名稱轉換成正確的ip位址,才能夠訪問web伺服器。首先會查詢本地網域名稱hosts檔案,若存在對應網域名稱的ip位址,就直接使用。若...

WEB請求過程

一 乙個例子 當使用者在瀏覽器中輸入www.com這個url時,首先,dns會把這個網域名稱解析成ip位址,然後根據這個ip找到對應的伺服器,並發起乙個get請求,對於伺服器端而言,可能會有負載均衡裝置來平均分配使用者請求,而請求的資料可能在分布式快取裡,靜態檔案中,或是資料庫中,當資料返回給瀏覽器...

web請求過程

b s兩方面好處 客戶端使用統一的瀏覽器 browser 瀏覽器統一性,遮蔽了不同伺服器提供商提供服務的差異性。並且,瀏覽器互動特性使瀏覽器使用方便,且使用者行為的可繼承性非常強。服務端 server 基於統一的http協議。簡化服務提供商開發模式,規範伺服器開發者上午開發模式。http協議採用無狀...