現在的位置: 首頁 > 搜索技術 > 正文

一次完整的HTTP請求是什么樣的

2020年01月13日 搜索技術 ⁄ 共 817字 ⁄ 字號 評論關閉

  寫完了HTTP服務器項目,但是對于一個完整的HTTP請求還不是很懂,在這里總結一下,當然這里的總結只是將每個過程進行簡化,并沒有去深入講解(實屬小弟實力不足啊)

  我們都知道,如果我們打開瀏覽器幾秒后就會跳轉出百度的首頁,接下來就講解一下這個過程!!

  一個完整的HTTP請求過程

  1.解析URL

  首先瀏覽器會檢測這個url是否正確存在,如果不合法,將會返回一個默認的搜索引擎。

  如果存在并合法,那么可以解析得到協議(http或者https)、域名(baidu)、資源(首頁)等信息。

  2.DNS查詢

  瀏覽器會先檢查域名信息是否在緩存中。

  再檢查域名是否在本地的Hosts文件中。

  如果還不在,那么瀏覽器會向DNS服務器發送一個查詢請求,獲得目標服務器的IP地址

  3.TCP傳輸及運輸

  這時候瀏覽器獲得了目標服務器的IP(DNS返回)、端口(URL中包含,沒有就使用默認(HTTP默認80端口)),瀏覽器會調用庫函數socket,生成一個TCP流套接字,也就是完成了TCP的封包。

  TCP封包完成之后,就可以傳輸了,瀏覽器和服務器就完成了TCP的三次握手,建立了連接,后面就可以請求服務器資源了。

  4.服務器接收請求并響應

  HTTP有很多請求方法,比如:GET/POST/PUT/DELETE等等,我們瀏覽器輸入URL這種,是GET方法。

  服務器接收到GET請求,服務器根據請求信息,獲得相應的相應內容。例如我們輸入的是:\百度一下,你就知道\,那么意味著訪問百度的首頁文件

  5.瀏覽器解析并渲染

  瀏覽器從服務器拿到了想要訪問的資源,大多數時候,這個資源就是HTML頁面,當然也可能是一個其他類型的文件。

  瀏覽器先對HTML文檔進行解析,生成解析樹(以DOM元素為節點的樹)。

  加載頁面的外部資源,比如JS、CSS、圖片。

  遍歷DOM樹,并計算每個節點的樣式,最終完成渲染,變成我們看到的頁面。

抱歉!評論已關閉.

奔驰宝马破解版下载 美女捕鱼游戏中鱼等级 免费下载熊猫麻将 qq分分彩登录 足球射门 亦乐贵州捉鸡麻将下 22选5河南最新开奖 买股票主要看什么数 棋牌斗牛技巧 内购破解版的捕鱼欢乐炸 大众麻将免费下载 cpa广告联盟是什么 股票融资买入什么意 推倒胡麻将技巧 找公式原创规律六肖 手机炒股软件 永利棋牌官方下载?