get和post的區(qū)別面試 GET請(qǐng)求和POST請(qǐng)求的區(qū)別?
GET請(qǐng)求和POST請(qǐng)求的區(qū)別?從HTTP消息級(jí)別,get請(qǐng)求將信息放在URL中,post請(qǐng)求將信息放在請(qǐng)求正文中。這使得get請(qǐng)求攜帶的數(shù)據(jù)量受到限制,因?yàn)閁RL本身的長(zhǎng)度是有限的,而post請(qǐng)求的
GET請(qǐng)求和POST請(qǐng)求的區(qū)別?
從HTTP消息級(jí)別,get請(qǐng)求將信息放在URL中,post請(qǐng)求將信息放在請(qǐng)求正文中。這使得get請(qǐng)求攜帶的數(shù)據(jù)量受到限制,因?yàn)閁RL本身的長(zhǎng)度是有限的,而post請(qǐng)求的數(shù)據(jù)是以報(bào)紙樣式存儲(chǔ)的,因此大小沒(méi)有限制。從形式上講,get請(qǐng)求將數(shù)據(jù)放在URL上并不安全,而post請(qǐng)求將數(shù)據(jù)放在請(qǐng)求體中似乎更安全。事實(shí)上,post請(qǐng)求的內(nèi)容很容易獲取,所以兩者在安全性上沒(méi)有太大區(qū)別。為了實(shí)現(xiàn)安全的信息傳輸,我們必須依賴HTTPS。
從數(shù)據(jù)庫(kù)級(jí)別來(lái)看,get是冪等且安全的,而post不是。這實(shí)際上與get/post請(qǐng)求的功能有關(guān)。根據(jù)HTTP協(xié)議,get-request用于查看信息,不改變服務(wù)器上的信息,post-request用于改變服務(wù)器上的信息。正因?yàn)間et請(qǐng)求只查看信息而不更改信息,所以對(duì)數(shù)據(jù)庫(kù)執(zhí)行一次或多次操作得到的結(jié)果是一致的,這被認(rèn)為是冪等的。安全性是指數(shù)據(jù)庫(kù)操作不改變數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
從其他方面來(lái)看,get請(qǐng)求可以緩存,get請(qǐng)求可以保存在瀏覽器的瀏覽記錄中,get請(qǐng)求URL可以保存為瀏覽器書(shū)簽。這些在post請(qǐng)求中不可用。緩存是get請(qǐng)求被廣泛使用的根本原因。它可以緩存,因?yàn)樗膬绲刃院桶踩浴3朔祷亟Y(jié)果外,沒(méi)有其他冗余操作。因此,大部分get請(qǐng)求都是由CDN緩存的,這大大減輕了web服務(wù)器的負(fù)擔(dān)。
接口編程中,為什么只用get和post?
得到,帖子就夠了。。什么restful接口?完成這項(xiàng)工作很好。別搞那些花哨的
get和post:
①get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器發(fā)送數(shù)據(jù);
②get請(qǐng)求時(shí),直接通過(guò)URL請(qǐng)求數(shù)據(jù),數(shù)據(jù)信息可以直接在URL中看到;post請(qǐng)求放在請(qǐng)求頭中,我們不能直接看到③ get提交有數(shù)據(jù)大小限制,一般不超過(guò)2KB,post默認(rèn)不限制;
④由于get請(qǐng)求的數(shù)據(jù)參數(shù)在URL中公開(kāi),安全性相對(duì)較低;post請(qǐng)求中,請(qǐng)求信息放在請(qǐng)求頭中,安全性相對(duì)較高。