get和post的區別


  •   GET和POST長度的限制問題

    GET:

    1、GET是通過URL提交數據,因此GET可提交的數據量就跟URL所能達到的最大長度有直接關系

    2、實際上HTTP協議對URL長度是沒有限制的;限制URL長度大多數是瀏覽器或者服務器的配置參數

    POST:

    1、同樣的,HTTP協議沒有對POST進行任何限制,一般是受服務器配置限制或者內存大小

    2、PHP下可以修改php.conf的postmaxsize來設置POST的大小

 

  • GET和POST的安全性

    1、GET是通過URL方式請求,可以直接看到,明文傳輸

    2、POST是通過請求header請求,可以開發者工具或者抓包可以看到,同樣也是明文的

    3、GET請求會保存在瀏覽器歷史紀錄中,還可能會保存在Web的日志中

 

  • GET冪等/POST不冪等

    冪等是指同一個請求方法執行多次和僅執行一次的效果完全相同。

 

 

  1. GET后退按鈕/刷新無害,POST數據會被重新提交(瀏覽器應該告知用戶數據會被重新提交)。
  2. GET書簽可收藏,POST為書簽不可收藏。       (???)
  3. GET能被緩存,POST不能緩存 。       (get相當於查詢,緩存有效果;post相當於增刪改,每次的數據不一樣,緩存沒有作用)
  4. GET編碼類型application/x-www-form-url,POST編碼類型encodedapplication/x-www-form-urlencoded 或 multipart/form-data。為二進制數據使用多重編碼。
  5. GET歷史參數保留在瀏覽器歷史中。POST參數不會保存在瀏覽器歷史中。   (???)
  6. GET對數據長度有限制,當發送數據時,GET 方法向 URL 添加數據;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。POST無限制。
  7. GET只允許 ASCII 字符。POST沒有限制。也允許二進制數據。
  8. 與 POST 相比,GET 的安全性較差,因為所發送的數據是 URL 的一部分。在發送密碼或其他敏感信息時絕不要使用 GET !POST 比 GET 更安全,因為參數不會被保存在瀏覽器歷史或 web 服務器日志中。
  9. GET的數據在 URL 中對所有人都是可見的。POST的數據不會顯示在 URL 中。




 


免責聲明!

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



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