記錄Get和Post的差別(應付筆試面試..)


1.從HTTP標准來看Get和Post

  get:get用於標識獲取資源而用的,他有兩種特性
  1.產生的結果是冪等的,就是說同一個url和同樣的get參數,呈現給用戶都是同樣的結果,例如說你在淘寶看到了一篇好東西,分享給你的朋友,他后面一般會添加一個唯一標識該商品的參數,如果你好友打開后看到的不是該商品,這也是不符合原來設計的初衷。
  2.是安全的,這里的安全是針對服務端而言,get不會引起數據的變化,例如說對數據庫的增刪改。
  
  post:根據HTTP規范,Post是有可能引起數據的變化,例如說論壇說有人要發表文章,一般是通過填寫表單,通過POST傳遞到服務端,服務端處理數據之后,進行文章的更新。
 

2.從應用角度來看

  get

  1.get請求參數放在URL后面,格式是URL?key1=value1&key2=value2...,可以在鏈接看到參數

  2.理論上HTTP並沒有對URL長度進行限制,也就是對get參數沒有長度限制,但是一般用戶打開鏈接都是通過瀏覽器,因此會受到瀏覽器或者操作系統限制長度,比較常見的限制長度是1024字節。

  post

  1.post請求數據會放在HTTP包中,保密性相對安全。

  2.HTTP標准也沒有對POST數據進行限制,但是會受到服務端的長度限制,如處理的程序(PHP),服務器引擎(Apache)。

 

3.總結

  get適合於查詢區分某些特定數據的頁面,如商品展示。

  由於post的HTTP標准,因此更適合做數據的改變,而且由於應用角度上的數據傳遞方式,更適合用於登錄注冊功能頁,因為不會被別人明眼看到數據(其實就算用POST,如果用心搞你,可以通過捉包去獲取數據,也不是說安全挺多的)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM