WEB中get请求和post请求的区别
生活随笔
收集整理的這篇文章主要介紹了
WEB中get请求和post请求的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考:https://blog.csdn.net/weixin_39361808/article/details/81136865
GET請求和POST請求是HTTP協議發送請求的兩種基本方法。
W3C上給出的兩者的區別:
- GET在瀏覽器回退時是無害的,而POST會再次提交請求。
- GET產生的URL地址可以被Bookmark(作為書簽被收藏),而POST不可以。
- GET請求會被瀏覽器主動cache,而POST不會,除非手動設置。
- GET請求只能進行url編碼,而POST支持多種編碼方式。
- GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST中的參數不會被保留。
- GET請求在URL中傳送的參數是有長度限制的,而POST么有。
對參數的數據類型,GET只接受ASCII字符,而POST沒有限制。 - GET比POST更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。
- GET參數通過URL傳遞,POST放在Request body中。
- GET請求: 把參數包含在URL中
- POST請求: 通過request body傳遞參數
- 為什么限制GET請求URL中參數的大小: 數據量太大會對瀏覽器和服務器造成很大的負擔。
GET請求與POST請求的本質都是TCP連接,但是由于HTTP的規定和瀏覽器/服務器的限制決定了它們在應用時的不同。
使用場景:
- GET:
1、查
2、請求的結果無持續性的副作用(如僅僅只是查找數據庫) - POST:
1、改
2、請求的結果有持續性的副作用(如修改了數據庫中的表)
Get和Post另一個重大區別:
Get產生一個TCP數據包;Post產生兩個TCP數據包。
對于Get方式的請求,瀏覽器會把http header和data一并發送出去,服務器響應200(返回數據),而對于Post,瀏覽器先發送header,服務器響應100 continue,瀏覽器再發送data,服務器響應200 ok(返回數據)。
總結
以上是生活随笔為你收集整理的WEB中get请求和post请求的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中public、protecte
- 下一篇: Mybatis的一对一查询以及延迟加载