Http協議簡介

2021-10-13 21:37:15 字數 2518 閱讀 8097

2.請求頭

3.請求主體

3.http協議的響應

http協議是建立在tcp/ip協議之上應用層協議,預設埠為80,8080

http協議主要主要分為三部分

請求行、請求頭、請求體

第一行,包含三個資訊:請求方式,url,http協議版本

區別:

get,引數url可見;

post,url引數不可見 (可通過抓包獲取)

get,通過拼接url進行傳遞引數

post,通過body體傳輸引數(post傳參使用&連線)

get請求是可以快取的

post請求不可以快取

get請求頁面後退時,不產生影響

post請求頁面後退時,會重新提交請求

get一般傳輸資料大小不超過2k-4k(根據瀏覽器不同,限制不一樣,但相差不大)

post請求傳輸資料的大小根據php.ini 配置檔案設定,也可以無限大

這個也是最不好分析的,原則上post肯定要比get安全,畢竟傳輸引數時url不可見,但也擋不住部分人閒的沒事在那抓包玩。安全性個人覺得是沒多大區別的,防君子不防小人就是這個道理。對傳遞的引數進行加密,其實都一樣。

get產生乙個tcp資料報;post產生兩個tcp資料報。

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100 continue,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

get 請求

connection: keep-alivepost 請求

***=man&name=professional

user-agent: firefox//表示傳送請求的瀏覽器(請求**端)是firefox

host: shop.

100.com//表示請求的主機網域名稱(基於網域名稱的虛擬主機就是靠這個頭判斷的)

cookie:name=itcast//瀏覽器攜帶的cookie資料。

content-length:

40connection: keep-alive

請求頭資訊,需要使用乙個空行結束

請求**端項伺服器端,傳送的請求資料!

典型的就是post形式傳送的表單資料!

get請求,沒有請求主體部分!get資料是在請求行中的url(即**)上進行傳遞的!

響應包括:響應行、響應頭、響應體

響應行包括:協議版本、狀態碼、狀態訊息

典型的:

1xx:訊息

2xx:成功

3xx:請求被重定向

4xx:瀏覽器端錯誤

5xx:伺服器端錯誤

典型:**

500 伺服器內部錯誤

404 請求的頁面沒有找到

403 沒有許可權

200 請求成功**

4開頭一般是客戶端出現的問題

5開頭一般是服務端出現的問題

關於響應狀態碼,詳細參考

響應狀態碼

content-type: text/html 內容型別,告知瀏覽器接下來傳送的響應主體資料是什麼格式!

content-length: 響應主體資料的長度!

date: 響應的時間。gmt時間!

主要的響應資料,在瀏覽器的主體區域顯示的資料都是相應主體!

每行包括相應行和響應頭,都需要乙個 \r\n結尾

本篇參考

簡單總結一下http的學習,希望可以幫到您

師承上官可程式設計,陳立臣

HTTP協議簡介

現在web發展如火如荼,web開發人員也越來越多,但有幾個對支援web的http協議有了解呢?底層協議基礎不紮實,高層應用是很難做到極致的。帶著好奇心,開始學習吧!http hypertext transfer protocol 即超文字傳輸協議,是瀏覽器和伺服器之間互相通訊的一種約定,通過網際網路...

HTTP協議 簡介

全稱為超文字傳輸協議 hypertext transfer protocol 設計之初是為了將超文字標記語言 html 文件從web伺服器傳送到客戶端的瀏覽器。現在http的作用已不侷限於html的傳輸。url url示例 解釋 scheme 指定低層使用的協議 例如 http,https,ftp ...

http協議簡介

摘要 本文 go web程式設計 一書,覺得說的比較好,特轉過來收藏。我們平時瀏覽網頁的時候,會開啟瀏覽器,輸入 後按下回車鍵,然後就會顯示出你想要瀏覽的內容。在這個看似簡單的使用者行為背後,到底隱藏了些什麼呢?對於普通的上網過程,系統其實是這樣做的 瀏覽器本身是乙個客戶端,當你輸入url的時候,首...