天天看點

get和post的差別

get方法與post方法的差別:

① 浏覽器位址欄顯示不同

② 向伺服器端請求時發送的消息格式不同

③ get請求消息格式為:

④ post請求消息格式為:

通過浏覽器進行檔案上傳時,一定要使用post方法。

通過浏覽器位址欄輸入網址的方式通路伺服器資源,使用的都是get方法請求。

       GET和POST的方法都是用于對伺服器的請求方法,隻是他們傳輸表單的方法不一樣,GET方法對于表單的參數請求是放置在url路徑裡面發送給伺服器的,格式如下:

       GET /test/LoginServlet?username=hello&password=world HTTP/1.1

       由因為浏覽器在網址輸入欄輸入網址的指令後,預設都是調用GET方法的,是以它會顯示的出現在url的路徑裡面。

       而POST方法發送使用者的輸入的表單的内容給Tomcat伺服器的時候并不是将使用者輸入的參數加在url中,而是采用以下的方式:

       POST /test/LoginServlet HTTP/1.1  ··· ···

       一些HTTP請求頭部的基本資訊 

       Connect:Keep-Alive //兩次空格,這是POST方法請求的格式

       username=hello&password=word

       POST請求方法并不把使用者輸入的内容加到url路徑裡面,是以在Browser的位址欄是不顯示的。

       綜上所述GET和POST的造成這種現象的本質原因是由于GET方法和POST方法發送的請求資訊的格式不一樣造成的。

    Get與Post送出方式

        用戶端向伺服器送出請求(Request)有兩種方式。一種是Get方式與post方式。它們的差別是

           Get送出:

                A:把要傳遞的資料,放在查詢字元串(URL)的後面,傳遞的資料是可見的。

                  比如:網頁名?變量名=值1&變量名=值2

                B:傳遞的資料大小有限制

                C:由于資料是可見的,是以安全性比較低

                D:Get送出方式僅适合于傳遞資料量少,且資料安全性要求不高的資料

           Post送出:

                A:把要傳遞的資料放在表單的元素中,通過表單傳給伺服器,傳遞的資料是不可見的

                B:對傳遞的資料大小沒有限制 

                C:适合于傳遞安全性比較高的資料。比如:傳遞密碼

          如何設定一個頁面的傳遞方式:

                A:設定為post方式:

                    <form action="目的頁面" method="post">

                B:設定為Get方式: 通常用超連結

                    <a herf="目的頁面?變量名=值">