HTTP協議

一.定義
http即:超文本傳輸協議。該協議是詳細規定了瀏覽器和萬維網網絡服務器之間相互通信的規則的。
也就是說,HTTP就是一個通信規則,它規定了客服端向服務端發送請求內容的格式以便服務器能識別;也規定了服務器向客服端返回的內容格式,以便客服端能夠識別。也就是,客戶端發送給服務端的格式叫“請求協議”,服務端發送給客服端的格式叫“響應協議”。
http協議的兩大特點:
1.HTTP超文本傳輸協議是基於請求/響應模式的(請求協議、響應協議);
2.HTTP是無狀態協議。所謂無狀態協議就是說,同一個用戶連續多次訪問服務器,服務器是不知道這些請求是由同一個用戶發出的,服務端沒收到一個請求就響應一次。所以,後面引進了cookie和session概念。
3.URL:統一資源定位符,就是一個網站地址:協議名://域名:端口號/路徑,例如:http://zhidao.baidu.com/question/557112227.html
二.請求協議

請求協議的格式如下:
請求行;//請求方法 請求路徑 協議和協議版本,例如:GEThttps://blog.51cto.com/10836356/2113800 HTTP/1.1
請求頭信息;//請求頭名稱;請求頭內容,爲鍵值對格式,例如:Host: blog.51cto.com
空行;//用來與請求主體隔開
請求體。//請求的參數,GET沒有請求體,只有POST纔有請求體

實例:
HTTP協議
HTTP協議
瀏覽器發送給服務器的內容就是這個格式的,如果不是這個格式,服務器將無法解析。在HTTP協議中,請求方法有很多種,常見的是GET和POST兩種。
1.GET請求
GET是HTTP的默認請求方法,其特點:
沒有請求體
URL字節數據必須在1KB以內
GET請求數據會暴露在瀏覽器的URL中,不安全
GET請求常用的操作:
可以在瀏覽器的地址欄中直接給出URL,那麼一定是GET方法;
點擊頁面中的超鏈接,也一定是GET方式;
提交表單時,沒有進行設置也一定是GET方式(默認爲GET方式,但可以進行設置爲爲他方式的)
格式及各參數說明
HTTP協議
(下圖只是用來解釋參數,與上圖不符合,來自網絡)
HTTP協議
2.POST請求
有請求體
URL字節數據大小沒有限制
POST請求數據不會暴露在瀏覽器的URL中
請求體中如果有中文,會使用URL編碼(爲了防止請求體內容與HTTP格式相沖突)
POST請求有請求體,GET請求則無。
HTTP協議
(下圖只是用來解釋參數,與上圖不符合,來自網絡)
HTTP協議
三.響應請求
1.格式

# http響應協議格式:
響應行;//協議和協議版本 狀態碼,例如:HTTP/1.1 200 OK
響應頭信息;//響應頭名稱;響應頭內容,爲鍵值對格式,例如:Content-Type: text/html; charset=UTF-8
空行;//用來與響應主體隔開
響應體。//響應的內容(發給客戶端的)

2.響應內容是服務器發給客戶端的,瀏覽器會根據響應內容進行解析並在界面上進行展示出來。遇到類似於<img scr=”...”>標籤的,會重新開一個新的進程加載,所以我們在瀏覽器上經常看到有些文字內容會快速加載出來,然後纔會一張張加載出圖片。
3.響應內容如下圖所示:
HTTP協議
對應的參數說明:
(下圖只是用來解釋參數,與上圖不符合,來自網絡)
HTTP協議
4.響應狀態碼說明
HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的作用。HTTP狀態碼共分爲5種類型:
HTTP協議
HTTP協議
HTTP協議
HTTP協議
HTTP協議
HTTP協議
5.其他響應頭
告訴瀏覽器不要緩存的響應頭:
Expires:-1;
Cache-Control:no-cache;
Pragma:no-cache;
Refresh:3;url=http://×××w.baidu.com
自動刷新響應頭,如瀏覽器會在3秒後自動刷新http://×××w.baidu.com網址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章