表單中的method為get和post的解讀

2021-09-13 12:57:11 字數 1237 閱讀 5933

解讀form表單中的method方法,其值get/post,對應的http協議中的get和post傳送方法。即指明的是http協議傳送請求報文的方式。

區別:1、請求方式的語義

而post意指傳輸,是傳送資料給伺服器,由伺服器獲取到資料後,執行後續的業務操作(比如查詢資料庫...),post不側重返回資源給客戶端。

2、請求的表現形式。

表單中使用get方式時,引數都會被追加到action的路徑後面,以明文顯示,如managingknowledge/main.jsp?filename=test.md&filetype=.docx

而使用post的方式,引數都被寫在了請求報文的請求頭部中,隨著請求一起傳送到伺服器。

3、請求的安全性分析。

很明顯,get方式傳輸過程中,資料都在url中顯示了,那麼在傳輸的過程中就有可能被別人監聽請求url或者擷取http資料報,這樣你的資料(使用者名稱、密碼)就被別人給竊取了,所以不安全。像**伺服器等都會把請求url記錄到日誌中,這樣他人就能檢視到了。

而post方式提交的資料,如果別人監聽你的請求url是得不到你的資料的,但如果擷取了你的資料報,那麼你的資料同樣還是可以被別人竊取,因此,也是不安全的。

安全是相對性而言,get的資料在位址列就顯示了,而post的資料,其實在瀏覽器的network中監聽請求資料報,也可以檢視到你的資料。

如果想安全傳輸資料的話,應該對資料先進行加密處理,然後傳送出去。如使用者的密碼,用rsa加密後儲存到資料庫中,資料庫不應該儲存使用者的明文密碼。(一系列加密技術)或者是用ssl協議,加入secure layer層。

4、傳輸的資料量。

get方式由於是位址追加方式,資料量受url長度限制。

而post方式可以傳輸大量資料,都是放在http報文中。

伺服器端取出form的資料

表單中的input,排除掉style="display:none;"或者disabled="disabled"的input不能傳輸值到伺服器,其餘的input,只要設定了name,name其value屬性的值都可以傳輸到伺服器中被接收。

伺服器接收

string input_value = request.getparament(string name);就可以獲取表單傳來的值了。

Form表單中method為get和post的區別

序,form表單中的方法分為get和post,但你都知道他們之間的區別嗎?例子如下,有個form表單。1 method get時,後面的引數param4 param4不會被傳到伺服器,因為瀏覽器在傳送之前,重新拼裝url為http 2 如果method post時,瀏覽器會將getpostservl...

form表單中method的get和post區別

一 問題的提出 也就是說post方式提交表單,引數分為兩部分 一部分是action中的引數放在位址列 另一部分是表單中的引數放在請求的頭中 所以所有的資料後台全部能獲得。對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form...

form表單中method的get和post區別

一 問題的提出 注意到表單中action getpostservlet getpost.do?param4 param4 這個action帶有乙個引數param4,如果用get方法提交,後台無法接收到這個引數 如果用post方法提交,後台就可以接收到這個引數。問題原因的簡單解釋 用get方法提交的u...