get和post的區別
相同點:
本質都是TCP/IP協議瀏覽器
重要區別:安全
- get經過url傳參,而post位於request body中。
- get長度有限制,post長度無限制。大多數瀏覽器會限制url長度在2k個字節,而大多數服務器會限制url長度在64k大小。
- 對於get請求,瀏覽器會把http header和data一塊兒發送出去,服務器相應200(返回數據);對於post請求,瀏覽器先發送header,服務器相應100 continue,瀏覽器再發送data,服務器響應200 ok。 雖然看起來get只須要發送一個請求,會比post請求塊。可是在網絡狀況好的狀況下,發送一個和兩次包之間的差距很小的;可是在網絡很差的狀況下,兩次包的TCP在驗證數據包完整上,有着巨大的優點。 (並非全部瀏覽器post都會發兩次包,如firefox只發送一次)
其餘區別:服務器
- get請求在回退時是無害的,而post會再次提交請求。
- get請求會被保存在瀏覽記錄當中,而post請求不會。
- get請求會被瀏覽器主動cache,而post須要手動設置。
- get請求只能url編碼,而post請求支持多種編碼方式。
- 對於參數的數據類型,get只能接受ascii字符,而post沒有限制。
- get比post更加不安全,由於直接在url上顯示。
歡迎關注本站公眾號,獲取更多信息