Post和Get的區(qū)別贤牛?
1.Get請求惋鹅,請求的數(shù)據(jù)會附加在URL之后,以殉簸?分割URL和傳輸數(shù)據(jù)闰集,多個參數(shù)用&鏈接。URL的編碼格式采用的是ASCLL編碼喂链,而不是Unicode返十,即是說所有的ASCII字符都要編碼之后再傳輸。
Post請求:Post請求會把請求的數(shù)據(jù)放置在HTTP請求包的包體中椭微。上面的item=bandsaw就是實(shí)際的傳輸數(shù)據(jù)洞坑。
因此,GET請求的數(shù)據(jù)會暴露在地址欄蝇率,而POST請求則不會迟杂。
2.傳輸數(shù)據(jù)的大小
在HTTP規(guī)范中刽沾,沒有對URL的長度和傳輸?shù)臄?shù)據(jù)大小進(jìn)行限制。但是在實(shí)際開發(fā)過程中排拷,對于GET侧漓,特定的瀏覽器和服務(wù)器對URL的長度有限制。因此监氢,在使用GET請求時布蔗,傳輸數(shù)據(jù)會受到URL長度的限制。
對于POST浪腐,由于不是URL傳值纵揍,理論上是不會受限制的,但是實(shí)際上各個服務(wù)器會規(guī)定對POST提交數(shù)據(jù)大小進(jìn)行限制议街,Apache泽谨、IIS都有各自的配置。
3.安全性
POST的安全性比GET的高特漩。這里的安全是指真正的安全吧雹,而不同與上面GET提到的安全方法中的安全,上面提到的安全僅僅是不修改服務(wù)器的數(shù)據(jù)涂身。比如雄卷,在進(jìn)行登錄操作,通過GET請求访得,用戶名和密碼都會暴露在URL上龙亲,因?yàn)榈卿涰撁嬗锌赡鼙粸g覽器緩存以及其他人查看瀏覽器的歷史記錄的原因陕凹,此時的用戶名和密碼就很容易被其他人拿到了悍抑。除此之外,GET請求提交的數(shù)據(jù)還可能會造成Cross-site request frogery攻擊皿渗。