GET與POST的區別

2021-08-29 16:43:38 字數 837 閱讀 4476

5.3 get與post的區別

如果要在瀏覽器中傳送表單或資料給伺服器端,使用get或post方法都能實現。get方法是在訪問url時,使用瀏覽器位址列來傳遞值。我們可以在很多**上看到這類url串,圖5-1所示的就是使用get方法傳遞引數。

圖5-1

get方法方便直觀,缺點是訪問該**的使用者也可以修改url串後傳送給伺服器,如果程式處理得不夠好很容易出錯,而且get傳遞的字串長度不能超過250個字元,如果超長,瀏覽器會自動截斷,導致資料缺失。另外,get方法不支援ascii字元之外的任何字元,比如包含有漢字或其他非ascii 字元時,需要使用額外的編碼操作,雖然有時候瀏覽器也能自動完成(可以使用url_encode和url_decode函式,使用方法詳見2.9.2 節)。

post方法傳送變數資料時,對於使用者來說是不透明的,按http協議來說,資料附加於header的頭資訊中,使用者不能隨意修改,這對於web應用程式而言,安全性要好得多,而且使用post可以傳送大體積的資料給web伺服器。

因為post是隨http的header資訊一起傳送的,當觸發post表單提交後,如果使用者瀏覽頁面時單擊「後退」按鈕,瀏覽器不會自動重發 post資料。如果使用者此時單擊「重新整理」按鈕,將會有「資料已經過期,是否重新提交表單」的提示,這一點不如get使用方便。使用get傳值時,即便使用者使用「後退」或「重新整理」按鈕,瀏覽器的url位址也是仍然存在的。

因此,我們在開發中需要根據實際應用靈活選擇get和post來提交表單資料。

值得一提的是,如果在html中缺少表單結束標記,那麼整個表單是不會觸發任何提交動作的。在實際開發時,一些粗心的人會發現單擊按鈕沒有任何反映,其實細心檢查一下表單的**就可以了,有時即使少寫了乙個html字元,瀏覽器也不會替我們幹活的。

Get與Post的區別

1.href與action的區別 href只能get引數,action能get引數又能post引數 href一般用於單個連線,可以帶引數 url重寫 是採用get方式請求的,在位址列中可以看到所有的引數 action一樣用於表單的提交 如 註冊 等,他可以提交大量和比較複雜的引數,可通過post和g...

Get 與Post 的區別

get 與post 的區別 表單提交中get和post方式的區別有5點 1.get是從伺服器上獲取資料,post是向伺服器傳送資料。2.get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各...

get 與 post 的區別

先簡單的介紹一下 get與 post lget 是以實體的方式得到由請求 uri所指定資源的資訊,如果請求 uri只是乙個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。l post 用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求...