get和post請求的區別


get和post的區別

  1. get和post都是http協議中的一種請求方式,不同的請求方式有不同的特點,工作模式也不一樣

  2. get請求沒有請求正文部分,而post有,所以get方式不能使用正文提交數據,但是可以使用queryString的方式來提交,注意:queryString是url的一部分,和請求方式無關,所以不論是什么請求方式都是可以有queryString的,需要再次注意的是,queryString的長度(url的長度)是有限制的,所以如果請求方式是get,那么通過queryString提交的數據的話,注意長度不要超出url的長度限制范圍,(范圍:2000多個,不同瀏覽器的url長度限制不一樣,標准瀏覽器一般要再多點)

  3. 使用queryString方式傳輸數據的時候需要對傳輸的數據進行轉碼(url編碼)-encodeURI()

  4. 使用http的正文發送(post),那么是通過send方法把數據添加到正文中,同時還需要設置發送頭信息,設置content-type的類型,這個類型必須和后端的解析類型保持一致,當數頭信息設置成application/x-www-form-urlencoded的時候,不需要手動進行編碼

  5. get方式會緩存頁面,需要通過隨機數或時間戳解決緩存問題,而post不會緩存所以沒有該問題

  6. 因為get方式會緩存,同時緩存文件名中有提交的數據,所以get方式傳遞數據有一定隱私安全上的隱患,所以敏感數據通過post提交

異步同步

異步、同步、阻塞、非阻塞
異步和同步:被請求人的消息通知機制
異步:當被請求人處理完成事情以后會主動通知(事件通知,回調等方式)
同步:當被請求人處理完成事情以后不會主動通知,需要請求的人主動輪詢
阻塞和非阻塞:請求人事務處理機制

ajax
- 異步非阻塞


免責聲明!

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



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