1.HTTP(HyperText Transfer Protocol)
? ? http是一種“超文本傳輸協(xié)議"吊宋,是互聯(lián)網(wǎng)上應(yīng)用最廣泛的一種網(wǎng)絡(luò)協(xié)議摹菠,其作用是提供客戶端如何發(fā)送"請求",服務(wù)器如何"響應(yīng)"。通常服務(wù)器會默認為"80"端口雁芙。
2.HTTP的請求和響應(yīng)的格式(背)
??HTTP的"GET"請求
?1.? ?GET / HTTP/1.1
?2.? ?Host:www.baidu.com
?2.? ?Accept: text/html
?3.? ? ? 斷行
??HTTP的"POST"請求
?1.????POST / HTTP/1.1
?2. ??Host:www.baidu.com
?2.? ? ? ? Accept: application/json
?2.? ? ? ? Content-Type: application/x-www-form-urlencoded
?2.? ? ? ? Content-Length: ...
?3.? ? ? ? ?斷行
?4.? ? ? ?
基本上可以分為四個部分扛门,?第三部分的"斷行"是為了更好的區(qū)分第二部分和第四部分的內(nèi)容脚仔,第四部分返回的是你輸入的字符串。
HTTP的"GET"響應(yīng)
1.? ??HTTP/1.1 200 OK
2.? ??Content-Length: …
2.? ??Content-Type: text/html或application/x-JavaScript; charset=utf-8
3.? ??斷行
4.? ?
HTTP的"POST"響應(yīng)
1. HTTP/1.1 302 Found
2. Content-Length: 17931
2. Content-Type: text/html
3.
4.??
?基本上可以分為四個部分掩浙,?第二部分是表達文件的大小和類型花吟,第三部分的"斷行"是為了更好的區(qū)分第二部分和第四部分的內(nèi)容,第四部分會返回得到網(wǎng)頁的源碼厨姚。
3.狀態(tài)碼(背)
?? ?200 通常的成功 OK
????GET:請求的對應(yīng)資源會作為響應(yīng)返回衅澈。響應(yīng)將包含描述或操作的結(jié)果。
????POST:返回處理對應(yīng)請求的結(jié)果谬墙。
204 成功處理請求今布,沒有返回任何內(nèi)容 No Content
????表示服務(wù)器接收到的請求已經(jīng)處理完畢,但是服務(wù)器不需要返回響應(yīng)芭梯。比如险耀,客戶端是瀏覽器的話,那么瀏覽器顯示的頁面不會發(fā)生更新玖喘。
206 Partial Content
????成功處理了部分GET請求
301 Moved Permanently
????請求的網(wǎng)頁已永久移動到新位置甩牺,永久性重定向
302 Found
????網(wǎng)站臨時性重定向,暫時不能訪問(備案累奈、被查)
303 See Other
????該狀態(tài)碼表示由于請求對應(yīng)的資源存在另一個URI贬派,并指定必須使用GET方法定向獲取請求的資源。和302不同的是澎媒,302是不會改變上次的請? ? ? 求方法
304 Not Modified
????訪問不了搞乏,并返回和上次一樣的話,表示資源未被修改過,還是和上次訪問時一樣戒努。
307 Temporary Redirect
????臨時重定向请敦,和302、303類似储玫,不同的是侍筛,不會指定客戶端要用什么樣的方法請求,
400 Bad Request
????表示客戶端中存在語法錯誤撒穷,導致服務(wù)器無法理解該請求匣椰。客戶端需要修改請求的內(nèi)容后再次發(fā)送請求端礼。
401 Unauthorized
????即用戶沒有必要的憑據(jù)禽笑。該狀態(tài)碼表示當前請求需要用戶驗證入录。
403 Forbidden
????服務(wù)器已經(jīng)理解請求,但是拒絕執(zhí)行它佳镜。
404 Not Found
????服務(wù)器找不到請求的網(wǎng)頁僚稿。
500 Internal Server Error
????服務(wù)器遇到錯誤,無法完成請求邀杏。
503 Service Unavailable
????由于臨時的服務(wù)器維護或者過載贫奠,服務(wù)器當前無法處理請求。這個狀況是暫時的.
4.?使用Chrome開發(fā)者工具查看 HTTP 請求內(nèi)容和響應(yīng)內(nèi)容
????請求:打開NETWORK--輸入網(wǎng)址---?選中第一個請求--查看 Requset并點擊view?parsed就可以查看望蜡。
????響應(yīng):打開NETWORK--輸入網(wǎng)址---?選中第一個響應(yīng)--查看 Response并點擊view?parsed就可以查看唤崭。?
5.curl命令的使用
? ? ? ?GET請求: curl -s -v -- "https://www.baidu.com"
? ? ? POST請求:? ?curl -X POST -s -v -- "https://www.baidu.com"