post和get请求的区别
1.傳送方式:get通過地址欄傳輸,post通過報文傳輸。
2.post請求無長度限制(至少是理論上的) ;get有長度限制,最長不超過2048字節(1024個漢字)
3.Get/post?請求報文上的區別
get?和post只是 HTTP 協議中兩種請求方式(異曲同工),而 HTTP 協議是基于 TCP/IP 的應用層協議,無論 get還是post,用的都是同一個傳輸層協議,所以在傳輸上,沒有區別。
不帶參數時:基本沒有區別
帶參數時:get?方法的參數應該放在 url 中,post方法參數應該放在 body 中
4.提交URL方式帶參時
<form?action="s1?method=post"?method="post">
Action中帶參數時,如果用get方法提交,后臺無法接收到這個參數;如果用post方法提交,后臺就可以接收到這個參數。
若get需要傳遞method參數時,可以使用hidden隱藏域。
<form?action="s1"?method="get">
<input?name='method'?type='hidden'?value='get'>
5.Get方式的提交需要用Request.QueryString來取得變量的值,而Post方式提交時,你必須通過Request.Form來訪問提交的內容。
6.安全性問題
通過get方法提交數據,可能會帶來安全性的問題。比如一個登陸頁面。當通過get方法提交數據時,用戶名和密碼將出現在URL上。如果:
?①登陸頁面可以被瀏覽器緩存;?
?②其他人可以訪問客戶的這臺機器。
那么,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。?
建議 :在Form中,建議使用post方法。
并且,從傳輸的角度來說,他們都是不安全的,因為 HTTP 在網絡上是明文傳輸的,只要在網絡節點上捉包,就能完整地獲取數據報文。要想安全傳輸,就只有加密,也就是 HTTPS(超文本傳輸安全協議,http的安全傳輸)。
7.get參數保存在瀏覽器,而post參數不會保存在瀏覽器
8.部分瀏覽器中,post 會將 header 和 body 分開發送,先發送 header,服務端返回 100 狀態碼再發送 body。
總結
以上是生活随笔為你收集整理的post和get请求的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java设计一个bank类实现银行_AO
- 下一篇: java项目内存使用率过高排查_项目内存