HTML提交方式 Post 和 Get

2021-10-10 11:08:12 字數 1927 閱讀 3557

我們都知道,html表單的method 屬性提交方式有兩種:post and get;但是,這兩種提交的方式究竟有什麼不一樣呢?為什麼要區分開來呢?帶著這種疑問,我們繼續探索!

首先,我們要知道什麼是post提交和get提交

post:

如果表單正在更新資料,或者包含敏感資訊(例如密碼)。

post 的安全性更加,因為在頁面位址列中被提交的資料是不可見的。

get:

如果表單提交是被動的(比如搜尋引擎查詢),並且沒有敏感資訊。

當使用 get 時,表單資料在頁面位址列中是可見的。

從以上我們可以得知:

>         get提交,提交的資訊都顯示在位址列中。

> post提交,提交的資訊不顯示位址列中。

> get提交,對於敏感的資料資訊不安全。

> post提交,對於敏感資訊保安。

深入探索:

ttp 定義了與伺服器互動的不同方法,最基本的方法是 get 和 post。在from提交的時候,如果不指定method,則預設為get請求,form中提交的資料將會附加在url之後,以?分開與url分開。字母數字字元原 樣傳送,但空格轉換為「+「號,其它符號轉換為%xx,其中xx為該符號以16進製表示的ascii(或iso latin-1)值。get請求請提交的資料放置在http請求協議頭中,而post提交的資料則放在實體資料中;get方式提交的資料最多只能有1024位元組,而post則沒有此限制。

get方法:

get 請求可被快取

get 請求保留在瀏覽器歷史記錄中

get 請求可被收藏為書籤

get 請求不應在處理敏感資料時使用

get請求有長度限制

get 請求只應當用於取回資料

post方法:

post 請求不會被快取

post 請求不會保留在瀏覽器歷史記錄中

post 不能被收藏為書籤

post請求對資料長度沒有要求

總結

form 中的 get 和 post 方法,在資料傳輸過程中分別對應了 http 協議中的 get 和 post 方法。二者主要區別如下:

1、get 是用來從伺服器上獲得資料,而 post 是用來向伺服器上傳遞資料。

2、get 將表單中資料的按照variable=value 的形式,新增到 action 所指向的 url 後面,並且兩者使用「?」連線,而各個變數之間使用「&」連線;post 是將表單中的資料放在 form資料體中,按照變數和值相對應的方式,傳遞到 action 所指向 url。

3、get 是不安全的,因為在傳輸過程,資料被放在請求的url中,而如今現有的很多伺服器、**伺服器或者使用者**都會將請求url記錄到日誌檔案中,然後放在某個地方,這樣就可能會有一些隱私的資訊被第三方看到。另外,使用者也可以在瀏覽器上直接看到提交的資料,一些系統內部訊息將會一同顯示在使用者面前。post 的所有操作對使用者來說都是不可見的。

4、get 傳輸的資料量小,這主要是因為受 url 長度限制;而 post可以傳輸大量的資料,所以在上傳檔案只能使用 post(當然還有乙個原因,將在後面的提到)。

5、get 限制 form 表單的資料集的值必須為 ascii 字元;而 post 支援整個 iso10646 字符集。

6、get 是 form 的預設方法。 使用post 傳輸的資料,可以通過設定編碼的方式正確轉化中文;而 get 傳輸的資料卻沒有變化。

在以後的程式中,我們一定要注意這一點。

get提交方式和post提交方式的區別

最近一次面試被問到這個問題了,自我感覺答得不好,所以整理下來加深下印象 get提交方式和post提交方式的區別?1 get是明文傳參,所有引數都在url位址列裡顯示,較不安全,而post傳參是通過request body實體 提交後位址列裡看不到引數,相對get而言較安全些。2 get傳遞的引數有限...

POST提交資料方式

當直接提交form表單時,預設就使用此種方式。這又是乙個常見的 post 資料提交的方式。我們使用表單上傳檔案時,必須讓 form 的 enctyped 等於這個值。上傳資料使用,不過多闡述。json 格式支援比鍵值對複雜得多的結構化資料,這一點也很有用。記得我幾年前做乙個專案時,需要提交的資料層次...

HTTP Request中的post和get區別

1 get是從伺服器上獲取資料,post是向伺服器傳送資料。2 在客戶端,get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單 內各個字段與其內容放置在html header內一起傳送到act...