POST和GET

POST和GET本質上無區別

兩者都是http協議中的請求方法,就相當於你要一本書,而現在由我來給你,我揣在衣兜裏給你和我拿在手裏給你是一樣的,由我給你相當於http協議,揣衣兜裏就是POST,拿在手裏直接給你就是GET。GET和POST底層都是TCP/IP。

POST和GET可視的區別

由於瀏覽器廠家要讓各請求更有語義,便約定做了一些限制。
我們可以直觀看到的一些區別:
1.GET請求的參數是在URL裏的,所發送的GET是URL的一部分,也就是http協議頭上;POST數據放在requrest body(http包 身體部分)裏的。平時在訪問網站時總能看到路徑後有’?’、’&‘等符號,其’?‘就是分割路徑和傳輸的數據,’&'就是連接各個數據部分,而POST不能直接在URL裏看到。
2.由於GET參數放在URL裏,故放在收藏夾裏時會直接全部收藏起來,而POST不會。
3.GET能被瀏覽器主動緩存,POST則不會。
4.GET只能是ASCLL編碼,而POST則無限制。
5.GET有長度限制,POST無長度限制。這點顯而易見,鏈接無限長肯定不行- -。
6.相對來說POST更安全!GET參數都放在URL裏了。。別人一眼就能看見。
7.點擊瀏覽器回退/刷新:POST會重新提交數據,GET無影響。
8.也是由於GET放在URL裏,故瀏覽歷史也會完全保存。而POST則不會。
9.GET產生一個數據包,POST產生兩個數據包。GET是直接把頭和數據一併發出去,服務端響應200即返回正常,POST是先發送頭,服務端響應100後再發送數據,服務端才響應200返回正常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章