1. 程式人生 > >Post和Get請求的區別?

Post和Get請求的區別?

GET請求,請求的資料會附加在URL之後,以?分割URL和傳輸資料,多個引數用&連線。URL的
編碼格式採用的是ASCII編碼,而不是uniclde,即是說所有的非ASCII字元都要編碼之後再傳輸。


POST請求:POST請求會把請求的資料放置在HTTP 請求包的包體中。上面的item=bandsaw就
是實際的傳輸資料。


因此,GET請求的資料會暴露在位址列中,而POST請求則不會
傳輸資料的大小:
 在HTTP 規範中,沒有對URL的長度和傳輸的資料大小進行限制。但是在實際開發過程中,對
於GET,特定的瀏覽器和伺服器對URL的長度有限制。因此,在使用GET請求時,傳輸資料會
受到URL長度的限制。


 對於POST,由於不是URL傳值,理論上是不會受限制的,但是實際上各個伺服器會規定對POST
提交資料大小進行限制,Apache、IIS都有各自的配置。


安全性:
 POST的安全性比GET的高。這裡的安全是指真正的安全,而不同於上面GET提到的安全方法
中的安全,上面提到的安全僅僅是不修改伺服器的資料。比如,在進行登入操作,通過GET 請求,
使用者名稱和密碼都會暴露再URL上,因為登入頁面有可能被瀏覽器快取以及其他人檢視瀏覽器的


歷史記錄的原因,此時的使用者名稱和密碼就很容易被他人拿到了。除此之外,GET 請求提交的資料
還可能會造成Cross-site request frogery攻擊。