posts - 14,  comments - 22,  trackbacks - 0
          簡要說一下http請求報文的格式:
              HTTP請求包括三部分:請求行(Request Line),頭部(Headers)和數據體(Body)。其中,請求行由請求方法(method),請求網址Request-URI和協議 (Protocol)構成,而請求頭包括多個屬性,數據體則可以被認為是附加在請求之后的文本或二進制文件。

              get 請求表示客戶端請求一個uri,服務器返回客戶端請求的uri,post請求表示客戶端請求的時候還要提交數據,比如提交form表單,要提交的數據會放到請求報文的body部分,服務器收到后這樣的請求后通常需要來處理這些數據。

              get請求是將數據放在請求的url之后,是一個以"?"打頭的查詢字符串,比如常見的test.jsp?name=aaa&age=10這種格式,這個是可以直觀看到的,(登陸的用戶名和密碼可不能用get哦)。由于http協議的限制,這樣放在url之后的get請求的數據是受大小限制的,最大長度不超過256字符(好像是,可能和web服務器有關)。

              為了能夠傳輸更多的數據,可以采用post請求,post請求是將數據放到了http的Content中,這就無大小的限制了,而且傳輸的數據不能直接被看到(登陸的用戶名和密碼一般采用post請求),大量的數據或是文件上傳,都只能用post來傳輸。
              簡單的說,get是通過http header來傳輸數據,有數量限制,而且可見,而post則是通過http body來傳輸數據,沒有數量限制。

              再說servlet中的doget和dopost方法
              web服務器處理這些請求的時候,如果客戶端提交的是get請求,則響應doget方法,如果客戶端提交的是post請求,則響應dopost方法。這是web服務器在響應doservice方法時,由doservice方法分發下來的(詳情請查看http協議和servlet生命周期方面的文章)
          posted on 2008-06-19 00:28 張老三 閱讀(4821) 評論(2)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 秦皇岛市| 鹤壁市| 诏安县| 云梦县| 凌海市| 神木县| 辉南县| 枝江市| 慈利县| 祥云县| 滦南县| SHOW| 哈密市| 通道| 错那县| 清水县| 武宣县| 应城市| 黄浦区| 巴彦县| 玛沁县| 惠来县| 临邑县| 高阳县| 惠州市| 大新县| 涿鹿县| 开阳县| 山西省| 信宜市| 苍南县| 遵义市| 临安市| 慈利县| 威信县| 武山县| 肇州县| 海安县| 峡江县| 潜山县| 铜山县|