HTTP請求(GET與POST區(qū)別)和響應(yīng)
HTTP有兩部分組成:請求與響應(yīng),下面分別整理。
一.HTTP請求
1.HTTP請求格式:
<request line>
<headers>
<blank line>
[<request-body>]
在HTTP請求中,第一行必須是一個請求行(request line),用來說明請求類型、要訪問的
2.GET與POST區(qū)別
HTTP 定義了與服務(wù)器交互的不同方法,最基本的方法是 GET 和 POST(Ajax
GET與POST方法有以下區(qū)別:
(1) 在客戶端,Get方式在通過URL提交數(shù)據(jù),數(shù)據(jù)在URL中可以看到;POST方式,數(shù)據(jù)放置在HTML HEADER內(nèi)提交。
(2) GET方式提交的數(shù)據(jù)最多只能有1024字節(jié),而POST則沒有此限制。
(3) 安全性問題。正如在(1)中提到,使用 Get 的時候,參數(shù)會顯示在地址欄上,而 Post 不會。所以,如果這些數(shù)據(jù)是中文數(shù)據(jù)而且是非敏感數(shù)據(jù),那么使用 get;如果用戶輸入的數(shù)據(jù)不是中文字符而且包含敏感數(shù)據(jù),那么還是使用 post為好。
(4) 安全的和冪等的。所謂安全的意味著該操作用于獲取信息而非修改信息。冪等的意味著對同一 URL 的多個請求應(yīng)該返回同樣的結(jié)果。完整的定義并不像看起來那樣嚴(yán)格。換句話說,GET 請求一般不應(yīng)產(chǎn)生副作用。從根本上講,其目標(biāo)是當(dāng)用戶打開一個鏈接時,她可以確信從自身的角度來看沒有改變資源。比如,新聞?wù)军c的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當(dāng)前的新聞。反之亦然。POST 請求就不那么輕松了。POST 表示可能改變服務(wù)器上的資源的請求。仍然以新聞?wù)军c為例,讀者對文章的注解應(yīng)該通過 POST 請求實現(xiàn),因為在注解提交之后站點已經(jīng)不同了(比方說文章下面出現(xiàn)一條注解)。
http://www.cnblogs.com/stu-acer/archive/2006/08/28/488802.html
GET與POST方法實例: GET /books/?name=Professional%20Ajax HTTP/1.1 Host: www.wrox.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225 Firefox/1.0.1 Connection: Keep-Alive POST / Host: www.wrox.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20050225 Firefox/ Content-Type: application/x-www-form-urlencoded Content-Length: 40 Connection: Keep-Alive name=Professional%20Ajax&publisher=Wiley
GET實例
POST實例
(此處空一行)
3.表單提交中get和post方式的區(qū)別歸納如下幾點:
(1)get是從服務(wù)器上獲取數(shù)據(jù),post是向服務(wù)器傳送數(shù)據(jù)。
(2)對于表單的提交方式,在服務(wù)器端只能用Request.QueryString來獲取Get方式提交來的數(shù)據(jù),用Post方式提交的數(shù)據(jù)只能用Request.Form來獲取。
(3)一般來說,盡量避免使用Get方式提交表單,因為有可能會導(dǎo)致安全問題。比如說在登陸表單中用Get方式,用戶輸入的用戶名和密碼將在地址欄中暴露無遺。但是在分頁程序中,用Get方式就比用Post好。
二.HTTP響應(yīng)
1.HTTP響應(yīng)格式:
<status line>
<headers>
<blank line>
[<response-body>]
在響應(yīng)中唯一真正的區(qū)別在于第一行中用狀態(tài)
HTTP響應(yīng)實例:
HTTP/1.1 200 OK Date: Sat, 31 Dec 2005 23:59:59 GMT Content-Type: text/html;charset=ISO-8859-1 Content-Length: 122 <html> <head> <title>Wrox Homepage</title> </head> <body> <!-- body goes here --> </body> </html>
2.最常用的狀態(tài)碼有:
◆200 (OK): 找到了該資源,并且一切正常。
◆304 (NOT MODIFIED): 該資源在上次請求之后沒有任何修改。這通常用于瀏覽器的緩存機制。
◆401 (UNAUTHORIZED):
◆403 (FORBIDDEN): 客戶端未能獲得授權(quán)。這通常是在401之后輸入了不正確的用戶名或密碼。
◆404 (NOT FOUND): 在指定的位置不存在所申請的
posted on 2007-11-29 15:40 sun 閱讀(65769) 評論(14) 編輯 收藏 所屬分類: Ajax 、HTTP