更新時(shí)間:2021-03-17 來源:黑馬程序員 瀏覽量:
(1)問題分析
考官主要是針對http協(xié)議請求方式的考核,比如:http協(xié)議其他的請求方式!GET方法和POST方法本質(zhì)上的區(qū)別等。
(2)核心答案解析
GET一般用于獲取和查詢資源信息,指定的資源經(jīng)服務(wù)器端解析后返回響應(yīng)內(nèi)容,必要時(shí),可以將查詢字符串參數(shù)追加到URL末尾,以便將信息發(fā)送給服務(wù)器。POST一般用于更新資源信息,通常會用來傳輸實(shí)體的本體,用GET方法也可以傳輸實(shí)體的主體,但一般不用GET方法進(jìn)行傳輸,而是用POST方法,雖然GET方法和POST方法很相似,但是POST的主要目的并不是獲取響應(yīng)的主體內(nèi)容。
(3)問題擴(kuò)展
http協(xié)議其他的請求方式?
● HEAD:獲得報(bào)文首部,GET方法有實(shí)體,HEAD方法無實(shí)體。
● PUT:傳輸文件,就像FTP協(xié)議的文件上傳一樣,要求在請求報(bào)文的主體中包含文件內(nèi)容,然后保存在請求URI指定的位置,存在安全問題,故一般不用。
● DELETE:刪除文件或資源,與PUT方法相反,按URI刪除指定資源
● OPTIONS:詢問支持的方法,客戶端詢問服務(wù)器可以提交哪些請求方法
● TRACE:追蹤路徑,讓W(xué)eb服務(wù)器端將之前的請求通信還給客戶端的方法
● CONNECT:要求用隧道協(xié)議連接代理,實(shí)現(xiàn)用隧道協(xié)議進(jìn)行TCP通信。
GET方法和POST方法本質(zhì)上的區(qū)別?
1)GET方法用于信息獲取,它是安全的(安全:指非修改信息,如數(shù)據(jù)庫方面的信息),而POST方法是用于修改服務(wù)器上資源的請求;
2)GET請求的數(shù)據(jù)會附在URL之后,而POST方法提交的數(shù)據(jù)則放置在HTTP報(bào)文實(shí)體的主體里,所以POST方法的安全性比GET方法要高;
3)GET方法傳輸?shù)臄?shù)據(jù)量一般限制在2KB,而Chrome,F(xiàn)ireFox瀏覽器理論上對于URL是沒有限制的,它真正的限制取決于操作系統(tǒng)本身;POST方法對于數(shù)據(jù)大小是無限制的,真正影響到數(shù)據(jù)大小的是服務(wù)器處理程序的能力。
(4)結(jié)合項(xiàng)目使用
在項(xiàng)目使用RESTful架構(gòu)風(fēng)格進(jìn)行開發(fā),GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源,這樣就統(tǒng)一了數(shù)據(jù)操作的接口,僅通過HTTP方法,就可以完成對數(shù)據(jù)的所有增刪查改工作。
猜你喜歡:
wget下載mysql數(shù)據(jù)庫時(shí)提示command not found怎么解決?