一次完整的http請求全程

2022-08-05 12:21:19 字數 1873 閱讀 8738

一、解析url:

瀏覽器首先會對輸入的url進行檢查,如果不合法,會把輸入的文字傳給預設的搜尋引擎--如google、baidu;通過了url的驗證,那麼可以解析得到協議(http以及https)、域名、資源等資訊;

二、dns查詢:

瀏覽器會先檢查域名資訊是否在快取中;

再檢查域名是否在本地hosts檔案中;

如果還不在,那麼瀏覽器就會向dns伺服器傳送一個查詢的請求,獲得目標伺服器的ip地址;

三、tcp封包及傳輸:

瀏覽器獲得了目標伺服器的ip、埠,瀏覽器會呼叫庫函式socket,生成一個tcp流套接字,也就是tcp封包;

tcp封包完成之後,就可以傳輸資料了,在完成“你楸啥”--“瞅你咋地”---“來過來嘮嘮”tcp三次握手,瀏覽器和伺服器就建立了連線,後面就可以請求伺服器資源了。

四、伺服器接受請求並響應:

http有很多請求方法,比如:get/post/put/delete等等,我們瀏覽器輸入url這種,是get方法;

伺服器接受get請求,伺服器根據請求資訊,獲得相應的資源內容。

五、瀏覽器解析並渲染:

瀏覽器從伺服器拿到了想要的資源,如html頁面,首先對html文件進行解析,生成dom節點樹,然後載入頁面的外部資源,如css、js、img等;最後遍歷dom樹,並計算每個節點的樣式,最終完成渲染,變成我們的頁面;

附帶:get以及post的區別:

http是什麼?http是基於tcp/ip的關於資料如何在全球資訊網中如何通訊的協議。

http的底層是tcp/ip。所以get和post的底層也是tcp/ip,也就是說,get/post都是tcp連結。get和post能做的事情是一樣一樣的。你要給get加上request body,給post帶上url引數,技術上是完全行的通

在我大全球資訊網世界中,tcp就像汽車,我們用tcp來運輸資料,它很可靠,從來不會發生丟件少件的現象。但是如果路上跑的全是看起來一模一樣的汽車,那這個世界看起來是一團混亂,送急件的汽車可能被前面滿載貨物的汽車攔堵在路上,整個交通系統一定會癱瘓。為了避免這種情況發生,交通規則http誕生了。http給汽車運輸設定了好幾個服務類別,有get, post, put, delete等等,http規定,當執行get請求的時候,要給汽車貼上get的標籤(設定method為get),而且要求把傳送的資料放在車頂上(url中)以方便記錄。如果是post請求,就要在車上貼上post的標籤,並把貨物放在車廂裡。當然,你也可以在get的時候往車廂內偷偷藏點貨物,但是這是很不光彩;也可以在post的時候在車頂上也放一些資料,讓人覺得傻乎乎的。http只是個行為準則,而tcp才是get和post怎麼實現的基本。

首先:get比post更不安全,因為引數直接暴露在url上,所以不能用來傳遞敏感資訊,get引數通過url傳遞,post放在request body中,get產生一個tcp資料包;post產生兩個tcp資料包,對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料),而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料);然後:get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被

有關 get 請求的其他一些註釋:

查詢字串(名稱/值對)是在 post 請求的 http 訊息主體中傳送的

有關 post 請求的其他一些註釋:

一次完整的HTTP請求所經歷的7個步驟

http通訊機制是在一次完整的http通訊過程中,web瀏覽器與web伺服器之間將完成下列7個步驟 1 建立tcp連線 在http工作開始之...

一次完整較為滲透過程

步驟一 利用阿d瀏覽器通過https 注入關鍵字掃描發現注入點 用啊d跑不出賬號密碼 步驟二 手工注入 and 1 1 and1 2出錯 猜欄位 order by 17 查詢錯段 www rqyl gov cn php id 153 union select 1 2 3 4 5 6 7 8 9 10...

一次網路請求的完整生命週期

從客戶端發起請求的時候,網路資料流是從上而下的 訪問 ,瀏覽器位址列輸入 ,這只是 域名,瀏覽器並不知道要去 訪問資源,這個時候用到dns協議對域名進行解析,在域名註冊商那裡繫結了域名對應的ip地址,ip地址就相當於網際網路世界的門牌號。 知道了目標ip後,瀏覽器打包本次請求,根據傳輸資料是否機密與否...