邊城愚人

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            31 隨筆 :: 0 文章 :: 96 評論 :: 0 Trackbacks

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

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

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

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

          評論

          # re: 淺說Get請求和Post請求 2007-05-22 23:30 熱門單曲
          樓主 學習了 多謝  回復  更多評論
            

          # re: 淺說Get請求和Post請求 2007-05-23 15:23 ronghai
          很好的文章,學習了  回復  更多評論
            

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

          encodeURIComponent() 不會出現亂碼, 別的可能會丟字母.  回復  更多評論
            

          主站蜘蛛池模板: 谷城县| 浮山县| 蒙山县| 海淀区| 剑河县| 寻乌县| 曲周县| 长子县| 刚察县| 平阴县| 松潘县| 梨树县| 怀远县| 邹平县| 固始县| 禄丰县| 阿瓦提县| 额济纳旗| 莲花县| 宁阳县| 鹤壁市| 双牌县| 瓮安县| 琼海市| 应城市| 无锡市| 马边| 凯里市| 凤台县| 克拉玛依市| 邵阳县| 松江区| 华宁县| 阜新市| 安龙县| 两当县| 青浦区| 松阳县| 新邵县| 通山县| 临武县|