http請求:get與post方法的區別
http 定義了與伺服器互動的不同方法,最基本的方法是 get 和 post。事實上 get 適用於多數請求,而保留 post
僅用於更新站點。根據 http 規範,get 用於資訊獲取,而且應該是 安全的和
冪等的。所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,get 請求一般不應產生***。冪等的意味著對同一 url
的多個請求應該返回同樣的結果。完整的定義並不像看起來那樣嚴格。從根本上講,其目標是當使用者開啟乙個鏈結時,她可以確信從自身的角度來看沒有改變資源。比如,新聞站點的頭版不斷更新。雖然第二次請求會返回不同的一批新聞,該操作仍然被認為是安全的和冪等的,因為它總是返回當前的新聞。反之亦然。post
請求就不那麼輕鬆了。post 表示可能改變伺服器上的資源的請求。仍然以新聞站點為例,讀者對文章的註解應該通過 post
請求實現,因為在註解提交之後站點已經不同了(比方說文章下面出現一條註解);
在form提交的時候,如果不指定method,則預設為get請求,form中提交的資料將會附加在url之後,以?分開與url分開。字母數字字元原樣傳送,但空格轉換為「
「號,其它符號轉換為%xx,其中xx為該符號以16進製表示的ascii(或iso
latin-1)值。get請求請提交的資料放置在http請求協議頭中,而post提交的資料則放在實體資料中;
get方式提交的資料最多只能有1024位元組,而post則沒有此限制。
get和post方法的不同
在b/s應用程式中,前台與後台的資料互動,都是通過html中form表單完成的。form提供了兩種資料傳輸的方式——get和post。雖然它們都是資料的提交方式,但是在實際傳輸時確有很大的不同,並且可能會對資料產生嚴重的影響。雖然為了方便的得到變數值,web容器已經遮蔽了二者的一些差異,但是了解二者的差異在以後的程式設計也會很有幫助的。
form中的get和post方法,在資料傳輸過程中分別對應了http協議中的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字符集。
6、get是form的預設方法。
get 和 post 的資料格式都是一樣的:
get 支援的最大位元組限制是 2048 bytes
post 支援的最大位元組限制是 2gb
GET與POST方法的區別
http請求 get與post方法的區別 http 定義了與伺服器互動的不同方法,最基本的方法是 get 和 post。事實上 get 適用於多數請求,而保留 post 僅用於更新站點。根據 http 規範,get 用於資訊獲取,而且應該是 安全的和 冪等的。所謂安全的意味著該操作用於獲取資訊而非修...
get與post方法的區別
先簡單的介紹一下 get與 post l get 是以實體的方式得到由請求 uri所指定資源的資訊,如果請求 uri只是乙個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。l post 用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請...
Get與Post方法的區別
http協議定義了很多與伺服器互動的方法,最基本的有4種,分別是get,post,put,delete.乙個url位址用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。我們最常見的就是get和post了。get一般用於獲取 查詢...