一:前言
? ??????http協(xié)議是一種網(wǎng)絡(luò)傳輸協(xié)議耘子,這個(gè)協(xié)議規(guī)定了我們請(qǐng)求數(shù)據(jù)和響應(yīng)數(shù)據(jù)的格式和傳遞數(shù)據(jù)之中部分?jǐn)?shù)據(jù)的規(guī)范洗显。
二:請(qǐng)求
? ??????瀏覽器和服務(wù)器進(jìn)行交互的開始烈菌,這個(gè)請(qǐng)求是瀏覽器發(fā)送的费彼。請(qǐng)求時(shí)攜帶數(shù)據(jù)的格式叫做請(qǐng)求報(bào)文:
? ? ? ? 1.請(qǐng)求行 : ?說明請(qǐng)求方式削咆,請(qǐng)求路徑和協(xié)議版本的數(shù)據(jù)。
? ? ? ? ? ? ? ? - 需要注意的是請(qǐng)求方式 : GET,POST,PUT,PETACH,DELETE
? ? ? ? ? ? ? ? - GET : 主要以獲取信息為主的請(qǐng)求方式杖剪,這種請(qǐng)求方式雖然也可以攜帶數(shù)據(jù)冻押,但是攜帶數(shù)據(jù)量是有限制的。 最大約為4KB過長(zhǎng)的數(shù)據(jù)會(huì)導(dǎo)致瀏覽器報(bào)錯(cuò)盛嘿。
? ? ????????????- GET請(qǐng)求攜帶數(shù)據(jù)是把數(shù)據(jù)放在請(qǐng)求地址之中的!
? ? ????????????- GET請(qǐng)求的數(shù)據(jù)只能有一種形式 "key=value&key2=value2", 其他格式都是不被GET請(qǐng)求支持的
? ??????????????- POST : 主要以發(fā)送數(shù)據(jù)為主的請(qǐng)求方式 , 這種方式的主要作用就是攜帶數(shù)據(jù)洛巢,所以攜帶數(shù)據(jù)量的大小是沒有限制的
? ? ????????????- POST請(qǐng)求攜帶數(shù)據(jù)的格式非常多 ,我們通常是通過請(qǐng)求頭告知服務(wù)端我們攜帶數(shù)據(jù)的格式是怎樣的 ?
? ? ????????????- POST攜帶數(shù)據(jù)是把數(shù)據(jù)放在請(qǐng)求體之中的次兆。
? ??????????????- PUT,PETACH : 修改內(nèi)容
? ? ? ? ? ? ? ? - DELETE : 刪除內(nèi)容
? ? ? ? 2.如何查看請(qǐng)求報(bào)文 :
? ??????????????- 我們使用瀏覽器的控制臺(tái)調(diào)試工具稿茉,工具之中的 network 選項(xiàng)里可以查看當(dāng)前請(qǐng)求的所有內(nèi)容包括請(qǐng)求報(bào)文信息和響應(yīng)報(bào)文信息;
? ? ? ? 3.請(qǐng)求報(bào)文之中的第二個(gè)內(nèi)容 : 請(qǐng)求頭
? ? ? ? ? ? ? ? -?是由多組key:value 組成的請(qǐng)求說明信息,這些信息主要告知服務(wù)器當(dāng)前的請(qǐng)求詳情
? ? ? ? 4.請(qǐng)求報(bào)文之中的第三個(gè)內(nèi)容 : 請(qǐng)求空行
? ? ? ? 5.請(qǐng)求報(bào)文之中的第四個(gè)內(nèi)容 : 請(qǐng)求體
三:響應(yīng)
? ? ? ? 服務(wù)器根據(jù)瀏覽器的請(qǐng)求返回?cái)?shù)據(jù)的格式
? ??????http響應(yīng)報(bào)文:
? ? ? ? ? ? ? ? 1.響應(yīng)行
? ??????????????????????- 響應(yīng)行之中有兩條信息 : 是響應(yīng)狀態(tài)和協(xié)議版本;
? ? ? ? ? ? ? ? ? ? ? ? -? 響應(yīng)狀態(tài) : 響應(yīng)狀態(tài)碼?
? ? ?????????????????????????????- 1.1 開頭的是準(zhǔn)備狀態(tài) (忽略就可以了芥炭,協(xié)議之中存在的概念)
? ? ?????????????????????????????- 1.2 開頭的是成功狀態(tài)
? ? ? ?????????????????????????????????- 比較常見的狀態(tài)碼是 200
? ? ?????????????????????????????- 1.3 開頭的是重定向狀態(tài)
? ? ? ?????????????????????????????????- 302 : 重定向
? ? ? ?????????????????????????????????- 304 : 使用網(wǎng)頁緩存并沒有發(fā)送互聯(lián)網(wǎng)請(qǐng)求
? ? ?????????????????????????????- 1.4 開頭的是路徑錯(cuò)誤狀態(tài)
? ? ? ?????????????????????????????????- 403 : 拒絕響應(yīng)
? ? ? ?????????????????????????????????- 404 : 在服務(wù)器沒有定義相應(yīng)的響應(yīng)返回內(nèi)容;
? ? ? ?????????????????????????????????- 405 : 請(qǐng)求方式不被允許
? ? ?????????????????????????????- 1.5 開頭的是服務(wù)器錯(cuò)誤狀態(tài)
? ? ? ?????????????????????????????????- 500 : 網(wǎng)絡(luò)錯(cuò)誤
? ? ? ?????????????????????????????????- 502 : 防火墻錯(cuò)誤
? ? ? ? ? ? ? ? 2.響應(yīng)頭
? ? ? ? ? ? ? ? ? ? ? ? -?