http協議中get和post方法的優點和缺點

2021-06-22 08:18:36 字數 1678 閱讀 7757



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的預設方法。

action的引號內填的是路徑方法,比如傳送到郵箱或其他網頁什麼的

post請求只能適合於頁面到頁面之間的轉移請求,從位址列中直接輸入位址,發出的請求是無法形成post請求的,post情況下,前乙個頁面的域被作為引數傳遞到伺服器,get情況下,引數依靠位址中「?」後面的字串構成引數。而frame中src屬性指定的位址,恰恰如同從位址列中輸入的位址一樣,發出的請求是get請求。

get和post兩種方法都是將資料送到伺服器,但你該用哪一種呢?

http標準包含這兩種方法是為了達到不同的目的。post用於建立資源,資源的內容會被編入http請示的內容中。例如,處理訂貨表單、在資料庫中加入新資料行等。

當請求無***時(如進行搜尋),便可使用get方法;當請求有***時(如在資料庫新增資料行),則用post方法。乙個比較實際的問題是:get方法可能會產生很長的url,或許會超過某些瀏覽器與伺服器對url長度的限制。

若符合下列任一情況,則用post方法:

若符合下列任一情況,則用get方法:   

表單提交中get和post方式的區別有5點

1. get是從伺服器上獲取資料,post是向伺服器傳送資料。

2. get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看不到這個過程。

3. 對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。

4. get傳送的資料量較小,不能大於2kb。post傳送的資料量較大,一般被預設為不受限制。但理論上,iis4中最大量為80kb,iis5中為100kb。

5. get安全性非常低,post安全性較高。

Http協議中的get和post

http中post和get區別,是不是用get的方法用post都能辦到?http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為 乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put...

HTTP協議中 POST和GET的區別

權威點的說明請參考 通俗的理解是 一 get的特點。主要用於簡單的獲取頁面資訊,同時也可以包含一些特殊的請求資訊 如 提交使用者名稱 密碼之類的 如果有,則將它附著在url尾部,以?隔開,空格轉化為 實際上是將其放在http請求協議頭部,而且這些資料最多不能超過1024個位元組 形如 http lo...

HTTP協議中的GET和POST方法

早期的http協議只有get方法。遵從http協議,伺服器接收到get請求後,會將特定資源傳送給客戶。這類似於客戶點單,並獲得漢堡的過程。使用get方法時,是客戶向伺服器索取資源,所以請求往往沒有主體部分。get方法也可以用於傳輸一些不重要的資料。它是通過改寫url的方式實現的。get的資料利用ur...