淺析HTTP協議


一、http的特點

1.支持客戶/服務器模式

2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET,POST,HEAD。每種方法規定了客戶與服務器的聯繫不同。由於http協議簡單,使得http服務器的程序規模小,所以通信很快。

3.靈活:http允許傳輸任意類型的數據對象。

4.無連接:無連接的含義是含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並受到客戶的應答後,即斷開連接。

5.無狀態:http協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態是意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。


二、URL篇

http(超文本傳輸協議)是一個基於請求與響應模式的,無狀態的,應用層的協議,常基於TCP的連接方式,HTTP/1.1版本中給出的一種持續連接的機制,絕大多數的web開發,都是構建在HTTP協議之上的web應用。

URL,統一資源定位符,它是一種特殊類型的URI,包含了用於查找某個資源的足夠的信息

格式如下:http://host[":"port][abs_path ]

http表示通過http協議來定位網絡資源,http表示域名或者IP地址;port指定一個端口號,爲空則使用缺省端口號80,abs_path指定請求資源的URL,如果URL中沒有給出abs_path,那麼當它作爲請求URL時,必須以“/”的形式給出,通常這個工作瀏覽器自動幫我們完成。(默認請求根目錄)

URL分爲帶參和不帶參兩種形式:

不帶參:https://www.baidu.com

帶參:https://www.baidu.com/?data1=10&data2=200


三、http請求

http請求由請求行、消息報頭、空行、請求正文


爲什麼要有空行?? 
空行實際上也是一種避免粘包的策略,因爲我們知道,第一行是請求行,從第二行開始一直到空行就是消息報頭了。

四、http相應

狀態碼分類:

狀態碼:狀態碼由三位數字組成,總共分爲5類: 
1xx:指示信息 表示請求已接受,繼續處理 
2xx:成功 表示請求被成功接收、理解、接受 
3xx:重定向 要完成請求必須進行更進一步的操作 
4xx:客戶端錯誤 請求語法有錯誤,或請求無法實現 
5xx:服務器端錯誤 服務器未能實現合法的請求


常見狀態碼: 
200 OK //客戶端請求成功 
403 Forbidden //服務器收到請求,但是拒絕提供服務 
404 Nto Found //請求資源不存在,也就是輸入了錯誤的URL 
500 Internal Server Error //服務器發生不可預期的錯誤 
503 Server Unavailable //服務器當前不能處理客戶端的請




















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