GET 和 POST 的區別(重要,面試常問)

遅咲きの向日葵發表於2020-12-10

GET 和 POST 的區別(重要,面試常問)

1.GET 在瀏覽器回退時是無害的,而 POST 會再次提交請求。
(get:不會再次傳送請求;post:瀏覽器會繼續向URI傳送請求)

2.GET 產生的 URL 地址可以被 Bookmark(新增到書籤),而 POST 不可以。
(可以被瀏覽器新增到書籤當中的;)

3.GET 請求會被瀏覽器主動 cache(快取),而 POST 不會,除非手動設定。

4.GET 請求只能進行 url 編碼,而 POST 支援多種編碼方式。

5.GET 請求引數會被完整保留在瀏覽器歷史記錄裡,而 POST 中的引數不會被保留。
(傳遞的引數會拼接和繫結到url當中,歷史記錄保留的是url,因此引數就可以保留下來,post的引數是通過請求體來傳遞的請求體不是放到url當中的所有不會保留下來)

6.GET 請求在 URL 中傳送的引數是有長度限制的,而 POST 則沒有。對引數的資料型別 GET只接受字元型別,而 POST 即可以是字元也可以是位元組。

7.GET 比 POST 更不安全,因為引數直接暴露在 URL 上,所以不能用來傳遞敏感資訊。

8.GET 引數通過 URL 傳遞,POST 放在 Request body (請求體)中。

相關文章