
前言
面試官:說一說get和post的區別吧,
我:🔥…
從應用層次上來說,post和get主要有著以下的幾類的區別,
-
大小 區別: Get 傳遞的內容一般存在大小限制, Post 理論上沒有,因為瀏覽器對 URL 存在限 制的(谷歌:8kb,火狐:7KB,IE:2kb的長度),超出 URL 長度的,就會對 UR 欄位進行截取,
-
快取 區別: Get 請求會出現瀏覽器把請求內容快取下來(這個快取不一定是304), POST 是沒有緩 存的,解決快取問題,一般會在 URL 后邊加一個亂數,
-
安全 區別: GET 請求 URL 暴露在外邊不安全,容易被 URL 劫持, Post 相對 Get 是安全的,
-
編碼 區別: GET 請求只能進行 url 編碼, Get 只接受 ASCll 字符, POST 沒有限制,
-
發送 區別: GET 方式會將請求報文一次性發出,而 Post 先發送 header ,服務器回應 100 continue ,然后 body 再發送,服務器回應 200(火狐瀏覽器 POST 只發送一次),
但是,不管哪一種方式,都可以向服務器傳遞資料,也可以服務器獲取到資料, 而且從本質意義來講,以下的方式是沒有任何區別的,他們之間的區別就是開發者約定俗稱的規范,可以說,其實GET和POST本質上沒有區別,
GET和POST是什么?
HTTP協議中的兩種發送請求的方法,
HTTP是什么?
HTTP是基于TCP/IP的關于資料如何在萬維網中如何通信的協議,HTTP的底層是
TCP/IP,所以GET和POST的底層也是TCP/IP,也就是說,GET/POST都是TCP鏈接,GET和POST能做的事情是一樣一樣的,你要給GET加上request body,給POST帶上url引數,技術上是完全行的通的,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287952.html
標籤:其他
