[摘錄]進一步理解HTTP協(xié)議中的GET,POST
摘錄地址:http://henry2008.teeta.com/blog/data/58260.html
HTTP-GET和HTTP-POST
HTTP-GET和HTTP-POST是使用HTTP的標(biāo)準(zhǔn)協(xié)議動詞,用于編碼和傳送變量名/變量值對參數(shù),并且使用相關(guān)的請求語義。每個HTTP-GET和HTTP-POST都由一系列HTTP請求頭組成,這些請求頭定義了客戶端從服務(wù)器請求了什么,而響應(yīng)則是由一系列HTTP應(yīng)答頭和應(yīng)答數(shù)據(jù)組成,如果請求成功則返回應(yīng)答。
HTTP-GET以使用MIME類型application/x-www-form-urlencoded的urlencoded文本的格式傳遞參數(shù)。Urlencoding是一種字符編碼,保證被傳送的參數(shù)由遵循規(guī)范的文本組成,例如一個空格的編碼是"%20"。附加參數(shù)還能被認(rèn)為是一個查詢字符串。
與HTTP-GET類似,HTTP-POST參數(shù)也是被URL編碼的。然而,變量名/變量值不作為URL的一部分被傳送,而是放在實際的HTTP請求消息內(nèi)部被傳送。
Get 和 Post 的區(qū)別兩點:
一、這兩者傳遞參數(shù)時所用的編碼不一定是一樣的。在 Tomcat 中似乎 Get 的編碼方式是根據(jù)頁面中指定的編碼方式,而 Post 則是一直使用同一種編碼方式,可在 Tomcat 的 server.xml 中配置。
二、使用 Get 的時候,參數(shù)會顯示在地址欄上,而 Post 不會。
所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用 get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。
表單提交中g(shù)et和post方式的區(qū)別歸納如下幾點:
1. get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
2. get是把參數(shù)數(shù)據(jù)隊列加到提交表單的ACTION屬性所指的URL中,值和表單內(nèi)各個字段一一對應(yīng),在URL中可以看到。post是通過HTTP post機制,將表單內(nèi)各個字段與其內(nèi)容放置在HTML HEADER內(nèi)一起傳送到ACTION屬性所指的URL地址。用戶看不到這個過程。
3. 對于get方式,服務(wù)器端用Request.QueryString獲取變量的值,對于post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)。
4. get傳送的數(shù)據(jù)量較小,不能大于2KB。post傳送的數(shù)據(jù)量較大,一般被默認(rèn)為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為100KB。
5. get安全性非常低,post安全性較高。
下面舉一個簡單的例子來說明它們的區(qū)別:
<!-分別通過get和post方式提交表單-->
<FORM ACTION="getpost.asp" METHOD="get">
<INPUT TYPE="text" NAME="Text" VALUE="http://bluesea.blogcup.com"></INPUT>
<INPUT TYPE="submit" VALUE="Get方式"></INPUT>
</FORM>
<BR>
<FORM ACTION="getpost.asp" METHOD="post">
<INPUT TYPE="text" NAME="Text" VALUE="http://bluesea.blogcup.com"></INPUT>
<INPUT TYPE="submit" VALUE="Post方式"></INPUT>
</FORM>
<BR>
<% If Request.QueryString("Text") <> "" Then %>
通過get方式傳遞的字符串是: "<B><%= Request.QueryString("Text") %></B>"<BR>
<% End If %>
<% If Request.Form("Text") <> "" Then %>
通過Post方式傳遞的字符串是: "<B><%= Request.Form("Text") %></B>"<BR>
<% End If %>
|
|
posted on 2007-04-23 16:40 見酒就暈 閱讀(460) 評論(0) 編輯 收藏 所屬分類: HTML