一、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請求
空行實際上也是一種避免粘包的策略,因爲我們知道,第一行是請求行,從第二行開始一直到空行就是消息報頭了。
狀態碼:狀態碼由三位數字組成,總共分爲5類:
1xx:指示信息 表示請求已接受,繼續處理
2xx:成功 表示請求被成功接收、理解、接受
3xx:重定向 要完成請求必須進行更進一步的操作
4xx:客戶端錯誤 請求語法有錯誤,或請求無法實現
5xx:服務器端錯誤 服務器未能實現合法的請求
常見狀態碼:
200 OK //客戶端請求成功
403 Forbidden //服務器收到請求,但是拒絕提供服務
404 Nto Found //請求資源不存在,也就是輸入了錯誤的URL
500 Internal Server Error //服務器發生不可預期的錯誤
503 Server Unavailable //服務器當前不能處理客戶端的請