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

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

解讀

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

區別:

一、請求方式的語義html

GET意指獲得資源,是要從服務器上獲取資源文件,咱們在地址欄輸入網址就是一種GET方式的http請求,服務器響應返回給客戶端html、css、js、img...等資源。數據庫

而POST意指傳輸,是發送數據給服務器,由服務器獲取到數據後,執行後續的業務操做(好比查詢數據庫...),POST不側重返回資源給客戶端。瀏覽器

二、請求的表現形式。安全

表單中使用GET方式時,參數都會被追加到action的路徑後面,以明文顯示,如ManagingKnowledge/main.jsp?fileName=test.md&fileType=.docx 服務器

而使用POST的方式,參數都被寫在了請求報文的請求頭部中,隨着請求一塊兒發送到服務器。jsp

三、請求的安全性分析。post

很明顯,GET方式傳輸過程當中,數據都在url中顯示了,那麼在傳輸的過程當中就有可能被別人監聽請求url或者截取http數據包,這樣你的數據(用戶名、密碼)就被別人給竊取了,因此不安全。像代理服務器等都會把請求url記錄到日誌中,這樣他人就能查看到了。加密

而POST方式提交的數據,若是別人監聽你的請求url是得不到你的數據的,但若是截取了你的數據包,那麼你的數據一樣仍是能夠被別人竊取,所以,也是不安全的。url

安全是相對性而言,GET的數據在地址欄就顯示了,而POST的數據,其實在瀏覽器的NetWork中監聽請求數據包,也能夠查看到你的數據。

若是想安全傳輸數據的話,應該對數據先進行加密處理,而後發送出去。如用戶的密碼,用RSA加密後存儲到數據庫中,數據庫不該該保存用戶的明文密碼。(一系列加密技術)或者是用SSL協議,加入secure layer層。

四、傳輸的數據量。

GET方式因爲是地址追加方式,數據量受URL長度限制。

而POST方式能夠傳輸大量數據,都是放在http報文中。

服務器端取出form的數據

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

服務器接收

String input_value = request.getParament(String name); 就能夠獲取表單傳來的值了。

相關文章
相關標籤/搜索