HTTP協議簡介
什麼是通訊
通訊、就是資訊的傳遞和交換
通訊三要素:
通訊的主體
通訊的內容
通訊的方式
現實生活中的通訊
案例:張三要把自己考上傳智專修學院的好訊息寫信告訴自己的好朋友李四
其中:
通訊的主體是張三和李四
通訊的內容是考上傳智專修學院
通訊的方式是寫信
網際網路中的通訊
案例:伺服器把傳智專修學院的簡介通過響應的方式傳送給客戶端瀏覽器
其中、
通訊的主體是伺服器和客戶端瀏覽器
通訊的內容是傳智專修學院的簡介
通訊的方式是響應
什麼是通訊協議
通訊協議(Communication Protocol)是指通訊的雙方完成通訊所必須遵守的規則和約定
通俗的理解為:通訊雙方採用約定好的格式
現實中的通訊協議
張三與李四採用寫信的方式進行通訊、在填寫信封時、寫信的雙方需要遵守固定的規則、信封的填寫規則就是一種通訊協議
網際網路中的通訊協議
客戶端與伺服器之間要實現網頁內容的傳輸、則通訊的雙方必須遵守網頁內容的傳輸協議
網頁內容又叫做超文字、因此網頁內容的傳輸協議又叫做超文字傳輸協議(HyperText Transfer Protocol)、簡稱HTTP協議
什麼是HTTP協議
HTTP協議即超文字傳送協議(HyperText Transfer Protocol)/它規定了客戶端與伺服器之間進行網頁內容傳輸時、所必須遵守的傳輸格式
例如
客戶端要以HTTP協議要求的格式把資料提交到伺服器
伺服器要以HTTP協議要求的格式把內容響應給客戶端
什麼是HTTP請求訊息
由於HTTP協議屬於客戶端瀏覽器和伺服器之間的通訊協議、因此、客戶端發起的請求叫做HTTP請求、客戶端傳送到伺服器的訊息、又叫做HTTP請求訊息
注意:HTTP請求資訊又叫做HTTP請求報文
HTTP請求訊息的組成部分
HTTP請求訊息由請求行(request line)、請求頭部(header)、空行和請求體4個部分組成
1.請求行
請求行由請求方式、URL和HTTP協議版本3個部分組成、他們之間使用空格隔開
2.請求頭部
請求頭部用來描述客戶端的基本資訊、從而把客戶端相關的資訊告知伺服器
空行
最後一個請求頭欄位的後面是一個空行、通知伺服器請求頭部至此結束
請求訊息中的空行、用來分隔請求頭部與請求體
4.請求體
請求體中存放的、是要通過POST方式提交到伺服器的資料
注意:只有POST請求才有請求體、GET請求沒有請求體!
1.狀態行
狀態行由HTTP協議版本、狀態碼和狀態碼的描述文字3個部分組成、他們之間使用空格隔開
2.響應頭部
響應頭部用來描述伺服器的基本資訊。響應頭部由多行 鍵/值對 組成、每行的鍵和值之間用英文的冒號分隔
3.空行
在最後一個響應頭部欄位結束之後、會緊跟一個空行、用來通知客戶端響應頭部至此結束
響應訊息中的空行、用來分隔響應頭部與響應體
什麼是HTTP請求方法
HTTP請求方法、屬於HTTP協議中的一部分、請求方法的作用是:用來表明要對伺服器上的資源執行的操作
最常用的請求方法是GET和POST
HTTP請求方法
什麼是HTTP響應狀態碼
HTTP響應狀態碼(HTTP Status Code)/也屬於HTTP協議的一部分、用來標識響應的狀態
響應狀態碼會隨著響應訊息一起被髮送至客戶端瀏覽器、瀏覽器根據伺服器返回的響應狀態碼、就能知道這次HTTP請求的結果是成功還是失敗了
HTTP狀態碼由三個十進位制數字組成、第一個十進位制數字定義了狀態碼的型別、後兩個數字用來對狀態碼進行細分
HTTP狀態碼共分為5種類型:
1.2**成功相關的響應狀態碼
2**範圍的狀態碼、表示伺服器已成功接收到請求並進行處理。常見的2**型別的狀態碼如下:
2.3**重定向相關的響應狀態碼
3**範圍的狀態碼、表示表示伺服器要求客戶端重定向、需要客戶端進一步的操作以完成資源的請求。常見的3**型別的狀態碼如下:
3.4**客戶端錯誤相關的響應狀態碼
4**範圍的狀態碼、表示客戶端的請求有非法內容、從而導致這次請求失敗。常見4**型別的狀態碼如下:
4.5**服務端錯誤相關的響應狀態碼
5**範圍的狀態碼,表示伺服器未能正常處理客戶端的請求而出現意外錯誤、常見的5**型別的狀態碼如下: