1荒辕、常用的HTTP方法有哪些兼搏?
GET:用于請(qǐng)求訪問(wèn)已經(jīng)被URI(統(tǒng)一資源標(biāo)識(shí)符)識(shí)別的資源症虑,可以通過(guò)URL傳參給服務(wù)器
POST:用于傳輸信息給服務(wù)器膨俐,主要功能與GET方法類似勇皇,但一般推薦使用POST方式。
PUT:傳輸文件焚刺,報(bào)文主體中包含文件內(nèi)容敛摘,保存到對(duì)應(yīng)URI位置。
HEAD:獲得報(bào)文首部乳愉,與GET方法類似兄淫,只是不返回報(bào)文主體,一般用于驗(yàn)證URI是否有效蔓姚。
DELETE:刪除文件捕虽,與PUT方法相反,刪除對(duì)應(yīng)URI位置的文件坡脐。
OPTIONS:查詢相應(yīng)URI支持的HTTP方法泄私。
2、GET方法與POST方法的區(qū)別
區(qū)別一:
get重點(diǎn)在從服務(wù)器上獲取資源,post重點(diǎn)在向服務(wù)器發(fā)送數(shù)據(jù)晌端;
區(qū)別二:
get傳輸數(shù)據(jù)是通過(guò)URL請(qǐng)求捅暴,以field(字段)= value的形式,置于URL后咧纠,并用"?"連接蓬痒,多個(gè)請(qǐng)求數(shù)據(jù)間用"&"連接,如http://127.0.0.1/Test/login.action?name=admin&password=admin漆羔,這個(gè)過(guò)程用戶是可見(jiàn)的梧奢;
post傳輸數(shù)據(jù)通過(guò)Http的post機(jī)制,將字段與對(duì)應(yīng)值封存在請(qǐng)求實(shí)體中發(fā)送給服務(wù)器钧椰,這個(gè)過(guò)程對(duì)用戶是不可見(jiàn)的粹断;
區(qū)別三:
Get傳輸?shù)臄?shù)據(jù)量小澎现,因?yàn)槭躑RL長(zhǎng)度限制涂召,但效率較高;
Post可以傳輸大量數(shù)據(jù)浮创,所以上傳文件時(shí)只能用Post方式诊沪;
區(qū)別四:
get是不安全的养筒,因?yàn)閁RL是可見(jiàn)的,可能會(huì)泄露私密信息端姚,如密碼等晕粪;
post較get安全性較高;
區(qū)別五:
get方式只能支持ASCII字符渐裸,向服務(wù)器傳的中文字符可能會(huì)亂碼巫湘。
post支持標(biāo)準(zhǔn)字符集,可以正確傳遞中文字符昏鹃。
3尚氛、HTTP請(qǐng)求報(bào)文與響應(yīng)報(bào)文格式
請(qǐng)求報(bào)文包含三部分:
a、請(qǐng)求行:包含請(qǐng)求方法洞渤、URI阅嘶、HTTP版本信息
b、請(qǐng)求首部字段
c载迄、請(qǐng)求內(nèi)容實(shí)體
響應(yīng)報(bào)文包含三部分:
a讯柔、狀態(tài)行:包含HTTP版本、狀態(tài)碼护昧、狀態(tài)碼的原因短語(yǔ)
b魂迄、響應(yīng)首部字段
c、響應(yīng)內(nèi)容實(shí)體
4惋耙、常見(jiàn)的HTTP相應(yīng)狀態(tài)碼
200:請(qǐng)求被正常處理
204:請(qǐng)求被受理但沒(méi)有資源可以返回
206:客戶端只是請(qǐng)求資源的一部分极祸,服務(wù)器只對(duì)請(qǐng)求的部分資源執(zhí)行GET方法慈格,相應(yīng)報(bào)文中通過(guò)Content-Range指定范圍的資源。
301:永久性重定向
302:臨時(shí)重定向
303:與302狀態(tài)碼有相似功能遥金,只是它希望客戶端在請(qǐng)求一個(gè)URI的時(shí)候浴捆,能通過(guò)GET方法重定向到另一個(gè)URI上
304:發(fā)送附帶條件的請(qǐng)求時(shí),條件不滿足時(shí)返回稿械,與重定向無(wú)關(guān)
307:臨時(shí)重定向选泻,與302類似,只是強(qiáng)制要求使用POST方法
400:請(qǐng)求報(bào)文語(yǔ)法有誤美莫,服務(wù)器無(wú)法識(shí)別
401:請(qǐng)求需要認(rèn)證
403:請(qǐng)求的對(duì)應(yīng)資源禁止被訪問(wèn)
404:服務(wù)器無(wú)法找到對(duì)應(yīng)資源
500:服務(wù)器內(nèi)部錯(cuò)誤
503:服務(wù)器正忙
5页眯、HTTP1.1版本新特性
a、默認(rèn)持久連接節(jié)省通信量厢呵,只要客戶端服務(wù)端任意一端沒(méi)有明確提出斷開(kāi)TCP連接窝撵,就一直保持連接,可以發(fā)送多次HTTP請(qǐng)求
b襟铭、管線化碌奉,客戶端可以同時(shí)發(fā)出多個(gè)HTTP請(qǐng)求,而不用一個(gè)個(gè)等待響應(yīng)
c寒砖、斷點(diǎn)續(xù)傳原理
6赐劣、常見(jiàn)HTTP首部字段
a、通用首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文都會(huì)使用的首部字段)
Date:創(chuàng)建報(bào)文時(shí)間
Connection:連接的管理
Cache-Control:緩存的控制
Transfer-Encoding:報(bào)文主體的傳輸編碼方式
b哩都、請(qǐng)求首部字段(請(qǐng)求報(bào)文會(huì)使用的首部字段)
Host:請(qǐng)求資源所在服務(wù)器
Accept:可處理的媒體類型
Accept-Charset:可接收的字符集
Accept-Encoding:可接受的內(nèi)容編碼
Accept-Language:可接受的自然語(yǔ)言
c魁兼、響應(yīng)首部字段(響應(yīng)報(bào)文會(huì)使用的首部字段)
Accept-Ranges:可接受的字節(jié)范圍
Location:令客戶端重新定向到的URI
Server:HTTP服務(wù)器的安裝信息
d、實(shí)體首部字段(請(qǐng)求報(bào)文與響應(yīng)報(bào)文的的實(shí)體部分使用的首部字段)
Allow:資源可支持的HTTP方法
Content-Type:實(shí)體主類的類型
Content-Encoding:實(shí)體主體適用的編碼方式
Content-Language:實(shí)體主體的自然語(yǔ)言
Content-Length:實(shí)體主體的的字節(jié)數(shù)
Content-Range:實(shí)體主體的位置范圍漠嵌,一般用于發(fā)出部分請(qǐng)求時(shí)使用
7咐汞、HTTP的缺點(diǎn)與HTTPS
a、通信使用明文不加密儒鹿,內(nèi)容可能被竊聽(tīng)
b化撕、不驗(yàn)證通信方身份,可能遭到偽裝
c挺身、無(wú)法驗(yàn)證報(bào)文完整性,可能被篡改
HTTPS就是HTTP加上加密處理(一般是SSL安全通信線路)+認(rèn)證+完整性保護(hù)
8锌仅、HTTP優(yōu)化