首頁技術(shù)文章正文

POST請求與GET請求的區(qū)別【java面試題】

更新時(shí)間:2021-03-17 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


(1)問題分析

考官主要是針對http協(xié)議請求方式的考核,比如:http協(xié)議其他的請求方式!GET方法和POST方法本質(zhì)上的區(qū)別等。

(2)核心答案解析

GET一般用于獲取和查詢資源信息,指定的資源經(jīng)服務(wù)器端解析后返回響應(yīng)內(nèi)容,必要時(shí),可以將查詢字符串參數(shù)追加到URL末尾,以便將信息發(fā)送給服務(wù)器。POST一般用于更新資源信息,通常會(huì)用來傳輸實(shí)體的本體,用GET方法也可以傳輸實(shí)體的主體,但一般不用GET方法進(jìn)行傳輸,而是用POST方法,雖然GET方法和POST方法很相似,但是POST的主要目的并不是獲取響應(yīng)的主體內(nèi)容。

1615970684704_POST與GET請求.jpg


(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ù)會(huì)附在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ù)的所有增刪查改工作。


猜你喜歡:

在Postman中如何獲取全局變量和環(huán)境變量?

wget下載mysql數(shù)據(jù)庫時(shí)提示command not found怎么解決?

在Postman中如何設(shè)置全局變量和環(huán)境變量?

java高級軟件工程師課程

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!