1. 程式人生 > >JavaEE基礎面試題--get請求和post請求的

JavaEE基礎面試題--get請求和post請求的

從客戶端傳送請求到後臺有兩種請求,GET和POST,下面來說一下這兩種請求的區別:

1、引數的位置不同
get請求的引數是跟在URL的後面,以?來分割URL和引數,用鍵值對加&的方式來連結多個引數,因此傳遞引數的資料量有所限制(通常來說瀏覽器會對URL長度上有所限制)
post請求的引數通常是放在請求體中,因此可以存放的資料量可以很大(理論上可以無限大,但是和伺服器本身的處理能力有關係)

2、請求本身的含義不同
get請求:根據HTTP規範,GET用於資訊獲取,而且應該是安全的和冪等的。
(1).所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,GET 請求一般不應產生副作用。就是說,它僅僅是獲取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。
(2).冪等的意味著對同一URL的多個請求應該返回同樣的結果。
但在實際應用中,以上2條規定並沒有這麼嚴格。引用別人文章的例子:比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。從根本上說,如果目標是當用戶開啟一個連結時,他可以確信從自身的角度來看沒有改變資源即可。

post請求:根據HTTP規範,POST表示可能修改伺服器資源的請求。繼續引用上面的例子:還是新聞以網站為例,讀者對新聞發表自己的評論應該通過POST實現,因為在評論提交後站點的資源已經不同了,或者說資源被修改了。

使用場景:

如果是獲得展示資訊的時候,則適合用get請求.

如果需要新增或者修改等操作伺服器資料的操作時,post請求比較合適。