簡析HTTP協議原理作者:數據無憂 時間:2020-09-18 13:24:53 |
下面通過瀏覽器訪問一個網址的過程進行分析,如下: 1. 利用DNS協議進行域名解析 第一步:客戶端用戶從瀏覽器里輸入www.baidu.com網站地址,回車后,系統首先會查找系統本地的DNS緩存及hosts文件信息,查找是否存在www.baidu.com域名對應的IP解析記錄,如果有就直接獲取IP地址,然后去訪問這個IP地址對應域名www.baidu.com的服務器,一般第一次請求時,DNS緩存是沒有解析記錄的,而hosts多在內部臨時測試時使用。 第二步:如果客戶端本地DNS緩存及hosts文件沒有www.baidu.com域名對應的解析記錄,那么,系統會把瀏覽器的解析請求發送給客戶端本地設置的DNS服務器地址(通常稱此DNS為LDNS或首選DNS服務器,即Local DNS)解析,如果LDNS服務器的本地緩存有對應的解析記錄就會直接返回IP地址給客戶端,如果沒有,則LDNS會負責繼續請求其他的DNS服務器。 第三步:LDNS會從DNS系統的根域(.)開始請求www.baidu.com域名的解析,針對各個層級的DNS服務器系統進行一系列的查找,最終會查找到baidu.com域名對應的授權DNS服務器,而這個授權DNS服務器正是企業購買域名時用于管理域名解析的服務器,這個授權服務器會有www.baidu.com對應的IP解析記錄,如果此時沒有,就表示企業的域名管理人員沒有為www.baidu.com域名做解析設置,即網站還沒架設好。 第四步:baidu.com域名的授權DNS服務器會把www.baidu.com對應的最終IP解析記錄發給LDNS。 第五步:LDNS把收到的來自授權DNS服務器www.baidu.com對應的IP解析記錄(A記錄)緩存到本地,再發給客戶端,以便下一次更快的返回相同解析請求的記錄,這些緩存記錄在指定的時間(DNS TTL值控制)內不會過期。 第六步:客戶端瀏覽器獲取到了www.etiantian.org的對應IP地址的解析記錄,會先緩存到本地,接下來,瀏覽器會請求獲得的IP地址對應的網站服務器 2. 建立tcp協議三次握手過程 3. 客戶端發出訪問網站相應頁面請求(發出http協議請求報文) 4. 系統架構部署情況 5. 服務端發出響應訪問頁面的請求信息(發出http協議響應報文) 6. 斷開tcp協議四次揮手過程 提示: 上述僅僅是客戶端用戶第一次訪問網站的基本過程,連續訪問后,系統本地和LDNS層級都會有緩存記錄,再訪問時流程就會有些變化,會直接取本地緩存記錄,這樣訪問過程就很快了。在上述整個訪問流程里,包含了DNS的解析流程以及HTTP協議的通信原理等重要的技術點。 無憂代理IP(www.aooseo.com)原創文章,轉載請注明出處。 |