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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 南开区| 洞口县| 平阴县| 凤冈县| 抚远县| 咸丰县| 深圳市| 根河市| 潜山县| 文山县| 洛阳市| 隆德县| 白朗县| 吉木乃县| 鹰潭市| 荣成市| 玉环县| 湖口县| 许昌县| 娄烦县| 石嘴山市| 高尔夫| 美姑县| 新乡县| 黄浦区| 三门峡市| 门头沟区| 昌宁县| 涞源县| 广水市| 日喀则市| 淳安县| 隆子县| 曲阳县| 高密市| 河源市| 汶川县| 吴旗县| 榆林市| 拉萨市| 松潘县|