一、http的特點
二、http報文
1、請求行
post
代表請求方法,/chapter17/user.html
表示uri,http/1.1
代表協議和協議的版本。現在比較流行的是http1.1版本。大家也可以了解下 2.0 :《讓面試官顫抖的 http 2.0 協議面試題》。
2、請求頭/
值對組成,每行一對,關鍵字和值用英文冒號「:」分隔。
● host:表示主機名,虛擬主機。
● connection:http/1.1增加的,使用keepalive,即持久連線,乙個連線可以發多個請求。
● user-agent:請求發出者,相容性以及定製化需求。
3、空行
4、請求體
name=tom&password=
1234
&realname=tomson
三、http請求方法
● get:請求指定的頁面資訊,並返回實體主體。
● head:類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭。
● post:向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。
● put:從客戶端向伺服器傳送的資料取代指定的文件的內容。
● delete:請求伺服器刪除指定的頁面。
四、get與post區別
● get在瀏覽器回退時是無害的,而post會再次提交請求。
● get請求會被瀏覽器主動快取,而post不會,除非手動設定。
● get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。
● get請求在url中傳送的引數是有長度限制的,而post沒有限制。
● get引數通過url傳遞,post放在request body中。
五、http狀態碼
● 1xx:指示資訊——表示請求已接收,繼續處理。
● 2xx:成功——表示請求已被成功接收、理解、接受。
● 3xx:重定向——要完成請求必須進行更進一步的操作。
● 4xx:客戶端錯誤——請求有語法錯誤或請求無法實現。
● 5xx:伺服器端錯誤——伺服器未能實現合法的請求。
403
forbidden
//對被請求頁面的訪問被禁止
404
notfound
//請求資源不存在,比如:輸入了錯誤的url
更多看下這篇文章
六、持久連線
1、為什麼需要持久連線
2、持久連線的特點http/1.1
和一部分的http/1.0
想出了持久連線(http persistent connections,也稱為 http keep-alive 或 http connection reuse)的方法。持久連線的特點是,只要任意一端沒有明確提出斷開連線,則保持tcp連線狀態。
http/1.1
中,所有的連線預設都是持久連線,但在http/1.0
內並未標準化。雖然有一部分伺服器通過非 標準的手段實現了持久連線,但伺服器端不一定能夠支援持久連線。毫無疑問,除了伺服器端,客戶端也需 要支援持久連線。
七、管線化
參考
原文發布時間為:2018-11-21
」。
HTTP 協議極簡教程
引言 http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。http 是基於 tcp ip 協議通訊協議來傳遞資料 html 檔案 檔案 查詢結果等 它不涉及資料報 packet 傳輸,主要規定了客戶...
HTTP 協議極簡教程
http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網伺服器傳輸超文字到本地瀏覽器的傳送協議。http 是基於 tcp ip 協議通訊協議來傳遞資料 html 檔案 檔案 查詢結果等 它不涉及資料報 packet 傳輸,主要規定了客戶端和伺...
Shell 極簡教程
vim hello world.sh bin bash echo hello world chmod x sh hello world.sh hello,world bin bash echo hello,world a 1b expr a 1 echo b注意,變數名和等號之間不能有空格,這可能和...