<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                HTTP方法中兩種最常用的 HTTP 方法是:GET 和 POST。 ### 一,什么是 HTTP 超文本傳輸協議(HTTP)的設計目的是保證客戶端與服務器之間的通信。HTTP 的工作方式是客戶端與服務器之間 的請求-應答協議。web 瀏覽器可能是客戶端,而計算機上的網絡應用程序也可能作為服務器端。 客戶端(瀏覽器)向服務器提交 HTTP 請求;服務器向客戶端返回響應。響應包含關于請求的狀態信息以及可能 被請求的內容。 兩種 HTTP 請求方法:在客戶機和服務器之間進行請求-響應時,兩種最常被用到的方法是:GET 和 POST。 ? ? ? (1)GET - 從指定的資源請求數據。 ? ? ? (2)POST - 向指定的資源提交要被處理的數據。 ? ? ??GET和POST區別表格: ![](https://box.kancloud.cn/2016-04-28_5721558a7c57b.jpg) ### 二,表單(算作是客戶端)提交代碼: ~~~ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>HTML表單GET和POST提交方式演示</title> </head> <body> <div align="center"> <form id="form1" action="收到數據的頁面.aspx" method="get"> <!--另一種提交方式是將form標簽的method屬性的值改為“method="post"”--> <table border="1" bordercolor="#0000FF" cellpadding="10" cellspacing="0" width="600"> <tr> <th colspan="2">注冊表單</th> </tr> <tr> <td>用戶名稱:</td> <td> <input type="text" name="user" /> </td> </tr> <tr> <td>輸入密碼:</td> <td> <input type="password" name="psw" /> </td> </tr> <tr> <td>確認密碼:</td> <td><input type="password" name="repsw" /> </td> </tr> <tr> <td>選擇性別:</td> <td> <input type="radio" name="sex" value="man" />男 <input type="radio" name="sex" value="woman" />女 </td> </tr> <tr> <td>選擇技術:</td> <td><input type="checkbox" name="technology" value="JAVA" />JAVA <input type="checkbox" name="technology" value="HTML" />HTML <input type="checkbox" name="technology" value="CSS" />CSS </td> </tr> <tr> <td>選擇國家</td> <td> <select name="country"> <option value="none">--選擇國家--</option> <option value="China">中國</option> <option value="USA">美國</option> <option value="UK">英國</option> </select> </td> </tr> <tr> <th colspan="2"> <input type="reset" value="清除數據" /> <input type="submit" value="提交數據" /> </th> </tr> </table> </form> </div> </body> </html> ~~~ 我們在客戶端這里看不出任何區別,但是表單提交給服務器端就會有明顯的區別(也是最直接的區別): GET提交方式的地址欄: file:///C:/Users/Administrator/Desktop/收到數據的頁 面.aspxuser=abc&psw=123&repsw=123&sex=man&technology=JAVA&country=China POST提交方式的地址欄: file:///C:/Users/Administrator/Desktop/收到數據的頁面.aspx 從上述的內容可以看出幾點區別: ? ? ??(1)get 提交的信息都顯示在地址欄中;post提交的信息不顯示在地址欄中。 ? ? ? (2)get提交對于敏感信息數據不安全;post提交對于敏感信息安全; ? ? ? (3)get提交對于大數據不行,因為地址欄存儲的信息是有限的;post可提交大體積的數據。 ? ? ? (4)get提交將信息封裝到了請求信息的請求行中;?post提交將信息封裝到了請求體中; ### 三,在服務器端的區別 如果出現將中文提交到tomcat服務器,服務器默認會用iso8859-1進行解碼,會出現亂碼,通過iso8859-1進行編 碼,再用指定的中文表解碼,即可; 但對于post提交方式提交的中文還有另一種解決辦法,就是直接使用服務端一個對象request對象的 setCharacterEncoding方法直接設置指定的中文代碼表就可以將中文數據解析出來,這個方法只對請求中的數據進行 解碼。 ### 四,通過 get 或者 post 方法都可以獲得 Form 的數據,兩者主要區別在于以下幾方面: (1)GET方式: URL 改變,在URL 里顯示 HTML Form 參數的 name/value 值。 只適合有少量參數的 HTML Form,因為 URL 長度有字符限制,不能無限長。 涉及安全性的信息,比如用戶密碼,不能用 get,因為會在 URL 上顯示,不安全。 (2)POST方式: URL 不改變,不在 URL 里顯示 HTML Form 的數據。 Form 提交的信息沒有長度限制。 涉及安全性的信息,如用戶密碼,應采用 post 方式。 ### 五,總結 客戶端和服務器端交互的三種方式: (1)地址欄輸入url地址;get (2)超鏈接; get (3)表單; get 和 post GET和POST的優缺點: (1)Get是用來從服務器上獲得數據,而Post是用來向服務器上傳遞數據。? (2)Get將表單中數據的按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個變量之間使用“&”連接;Post是將表單中的數據放在form的數據體中,按照變量和值相對應的方式,傳遞到action所指向URL。? (3)Get是不安全的,因為在傳輸過程,數據被放在請求的URL中,而如今現有的很多服務器、代理服務器或者用戶代理都會將請求URL記錄到日志文件中,然后放在某個地方,這樣就可能會有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數據,一些系統內部消息將會一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。? (4)Get傳輸的數據量小,這主要是因為受URL長度限制;而Post可以傳輸大量的數據,所以在上傳文件只能使用Post(當然還有一個原因,將在后面的提到)。? (5)Get限制Form表單的數據集的值必須為ASCII字符;而Post支持整個ISO10646字符集。默認是用ISO-8859-1編碼 。 (6)Get是Form的默認方法。 (7)get的執行效率要高于post。 (8)對于get方式,服務器端用Request.QueryString獲取變量的值,對于post方式,服務器端用Request.Form獲取 提交的數據。 目前不會做服務器端,因此難以提供更有效的數據論證。學習了服務器端,在進行更詳細的理解。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看