關於Http協議

HTTP: Hypertext Transfer Protocal

格式

示例:http://github.com/user/?gender=male
其中:
http:// 爲協議類型
github.com爲服務器地址
/user?gender=male爲路徑path

真正發送的格式爲
GET /user?gender=male HTTP1.1
Host:github.com
Body:...
第一行爲request
GET : method  /user : path HTTP1.1 : HTTP version
第二行爲Header
包括Host,Content-Type等
第三行之後爲Body
請求的內容

響應的格式爲
狀態行:HTTP/1.1 200 OK
HTTP version    status code  	status message
Headers
Body

Request Methods

GET:獲取資源,沒有Body
POST:增加或修改資源,有Body
PUT:修改資源,有Body,冪等性
DELETE:刪除資源,沒有Body,冪等性
HEAD:調用完全同GET,返回內容無Body,只有Header

Status Code

作用:對結果作出類型化描述
1xx:臨時性消息,100表示繼續發送,101表示服務器告知結果
2xx:成功
3xx:重定向,301表示永久遷移,302表示臨時遷移,304表示內容未改變
4xx:客戶端錯誤,401表示未授權,404表示頁面未找到
5xx:服務器錯誤

Header

作用:HTTP消息的元數據(metadata)
Host:服務器主機地址,目標大主機查找子主機
Content-Type:內容類型
text/html:html文本,用於瀏覽器頁面響應
application/x-www-form-urlencoded:普通表單,encoded url格式
multipart/form-data:多部分形式,一般用於傳輸包含二進制內容的多項內容
application/json:json形式
image/jpeg:單個圖片
application/zip:壓縮數據
Content-Length:內容的長度(字節)
Transfer-Encoding:chunked
表示Body長度無法確定,Content-Length不能使用,最好傳輸0表示結束
Location:重定向的目標URL
User-Agent:用戶代理,客戶端類型
Range/Accept-Range:指定Body的內容範圍
Cookie/Set-Cookie:設置cookie
Authorization:身份鑑權

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