邊城愚人

          如果我不在邊城,我一定是在前往邊城的路上。

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            31 隨筆 :: 0 文章 :: 96 評(píng)論 :: 0 Trackbacks

          ??? ??? Web 上最常用的兩種 Http 請(qǐng)求就是 Get 請(qǐng)求和 Post 請(qǐng)求了。我們?cè)谧?/font> java web 開發(fā)時(shí),也總會(huì)在 servlet 中通過 doGet doPost 方法來處理請(qǐng)求;更經(jīng)常地,我們會(huì)在 doGet 方法的實(shí)現(xiàn)中調(diào)用 doPost 方法。盡管做了近兩年的 web 開發(fā),我對(duì)諸如 Get 請(qǐng)求和 Post 請(qǐng)求的基本概念仍不是十分了解。近日閱讀《 javascript 高級(jí)程序設(shè)計(jì)》(很長時(shí)間沒有看書了!),重新整理了一下 Get 請(qǐng)求和 Post 請(qǐng)求的概念,算是讀書筆記吧。

          ??? ??? Get 是從服務(wù)器上獲取數(shù)據(jù),這是最常見的請(qǐng)求類型。每次在瀏覽器中輸入 URL 打開頁面時(shí),就是向服務(wù)器發(fā)送一個(gè) Get 請(qǐng)求。 Get 請(qǐng)求的參數(shù)是用問號(hào)追加到 URL 結(jié)尾,后面跟著用&連接起來的名稱/值對(duì)。比如網(wǎng)址 http://bt.neupioneer.com/viewthread.php?tid=87813 ,其中 tid 為參數(shù)名, 87813 為參數(shù)的值。在編程中,使用 Get 最多的地方就是超鏈接列表,其中的參數(shù)多是從數(shù)據(jù)庫讀出的字段拼接而成。在 Ajax 中,我們也經(jīng)常使用 Get ,通過提取出頁面的標(biāo)簽值,拼成串后構(gòu)造一個(gè) URL Get 在使用上是有限制的, URL 的最大長度為 2KB ,因此,如果表單中包含textarea這樣的大文本段,就不要用Get了。對(duì)于表單來說, Get 是把參數(shù)數(shù)據(jù)隊(duì)列加到提交表單的 ACTION 屬性所指的 URL 中,值和表單內(nèi)各個(gè)字段一一對(duì)應(yīng),通過 URL 可以看到中傳遞的參數(shù)。因此,相比于 Post ,它是不安全的。

          ??? ??? Post 的使用場(chǎng)合多是在表單提交的地方,因?yàn)楹?/font> Get 相比, Post 可以發(fā)送更多的數(shù)據(jù),《 javascript 高級(jí)程序設(shè)計(jì)》中說最多可以發(fā)送 2GB ,這多少讓我不太相信,網(wǎng)上一些文章說 IIS4 中最大量為 80KB IIS5 中為 100KB ,不知道 Tomcat 中的情況如何。 Post 是通過 HTTP Post 機(jī)制,將表單內(nèi)各個(gè)字段與其內(nèi)容放置在 HTML Header 內(nèi)一起傳送到 ACTION 屬性所指的 URL 地址。 Get 相比, Post 的內(nèi)容是不會(huì)在 URL 中顯現(xiàn)出來的,這多少是安全一些的。 我在做登錄這樣的表單時(shí),只是將請(qǐng)求方式設(shè)為 Post ,使得用戶名和密碼信息不在瀏覽器中顯現(xiàn),但不清楚的是,是否有更好的方法加密密碼等信息(實(shí)在不知道如果請(qǐng)求不傳到服務(wù)器的話,怎么對(duì)未知的請(qǐng)求加密,清楚的朋友不妨給個(gè)解決方案)。在 Ajax 中,如果要和服務(wù)器交互,記得加上 request.setRequestHeader(“Content-Type”,”application/x-www-urlencoded”); 這一腳本,盡管很多 Ajax 教材中都提到了這一點(diǎn)。另外要說的是,被傳遞的參數(shù)是要經(jīng)過編碼的。在 javascript 中,編碼函數(shù)是 encodeURIComponent(xx)

          posted on 2007-05-22 22:30 kafka0102 閱讀(3327) 評(píng)論(3)  編輯  收藏 所屬分類: Ajax

          評(píng)論

          # re: 淺說Get請(qǐng)求和Post請(qǐng)求 2007-05-22 23:30 熱門單曲
          樓主 學(xué)習(xí)了 多謝  回復(fù)  更多評(píng)論
            

          # re: 淺說Get請(qǐng)求和Post請(qǐng)求 2007-05-23 15:23 ronghai
          很好的文章,學(xué)習(xí)了  回復(fù)  更多評(píng)論
            

          # re: 淺說Get請(qǐng)求和Post請(qǐng)求 2007-05-23 18:18 BeanSoft
          可以參考:
          http://www.aygfsteel.com/beansoft/archive/2007/05/23/119444.html
          AJAX入門介紹 - (2) GET 和 POST 配合表單

          encodeURIComponent() 不會(huì)出現(xiàn)亂碼, 別的可能會(huì)丟字母.  回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 呼图壁县| 辰溪县| 长治市| 图木舒克市| 中宁县| 乌拉特前旗| 望谟县| 沅江市| 雷山县| 保康县| 边坝县| 新龙县| 同江市| 偏关县| 康定县| 龙井市| 库伦旗| 五指山市| 望城县| 东光县| 嵩明县| 阿拉善右旗| 竹北市| 金门县| 景泰县| 宿迁市| 许昌市| 阳山县| 曲松县| 青海省| 板桥市| 布尔津县| 长岭县| 城步| 南郑县| 南澳县| 庆云县| 祁门县| 循化| 白水县| 双流县|