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

2021-10-09 17:09:27 字數 1883 閱讀 5794

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

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

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

4.get傳送的資料量較小,不能大於2kb,但是執行效率卻比 post 方法好。post傳送的資料量較大,一般被預設為不受限制,但是不管怎麼提交到伺服器中都會有提交長度和大小的限制,例如tomcat中server.xml中maxparametercount和maxpostsize分別限制最大長度和最大的位元組數。如果想從後台觀察傳送了多大的資料量。可以通過request.getcontentlengthlong獲取。理論上,iis4中最大量為80kb,iis5中為100kb。

建議:除非你肯定你提交的資料可以一次性提交,否則請盡量用 post 方法。

5.get安全性非常低,post安全性較高。通過get方法提交資料,可能會帶來安全性的問題。比如乙個登陸頁面。當通過get方法提交資料時,使用者名稱和密碼將出現在url上。如果:

1、 登陸頁面可以被瀏覽器快取;

2、 其他人可以訪問客戶的這台機器。

那麼,別人即可以從瀏覽器的歷史記錄中,讀取到此客戶的賬號和密碼。所以,在某些情況下,get方法會帶來嚴重的安全性問題。

建議在form中,建議使用post方法。

1、get方法通過url請求來傳遞使用者的輸入。post方法通過另外的形式。

get:是以實體的方式得到由請求uri所指定資源的資訊,如果請求uri只是乙個資料產生過程,那麼最終要在響應實體中返回的是處理過程的結果所指向的資源,而不是處理過程的描述。

post:用來向目的伺服器發出請求,要求它接受被附在請求後的實體,並把它當作請求佇列中請求uri所指定資源的附加新子項,post被設計成用統一的方法實現下列功能:

1:對現有資源的解釋

2:向電子公告欄、新聞組、郵件列表或類似討論組發資訊。

3:提交資料塊

4:通過附加操作來擴充套件資料庫

從上面描述可以看出,get是向伺服器發索取資料的一種請求;而post是向伺服器提交資料的一種請求,要提交的資料位於資訊頭後面的實體中。

很理論化,但是很標準,method=「get」並不是從伺服器上獲取資料,get和post 只是傳送機制不同,並不是乙個取乙個發!

get方法會在ie位址列裡顯示表示你提交時候所帶的值;post方法不會,

〈form method=「get」 action=「a.asp?b=b」〉跟〈form method="get"action=「a.asp」〉是一樣的,也就是說,action頁面後邊帶的引數列表會被忽視;而〈form method=「post」 action=「a.asp?b=b」〉跟〈form

method="post"action=「a.asp」〉是不一樣的。

另外,get請求有如下特性:它會將資料新增到url中,通過這種方式傳遞到伺服器,通常利用乙個問號?代表url位址的結尾與資料引數的開端,後面的引數每乙個資料引數以「名稱=值」的形式出現,引數與引數之間利用乙個連線符&來區分。

post請求有如下特性:資料是放在http主體中的,其組織方式不只一種,有&連線方式,也有分割符方式,可隱藏引數,傳遞大批資料,比較方便。

post 位址列不會出現一大串?bjnghfgreygt這樣的東西

如果是get,就會出現了。

2、get方式的提交你需要request.querystring來取得變數的值,而post方式提交時,你必須通過request.form來訪問提交的內容。

表單的提交方式POST和GET

post和get都是表單屬性method的可選值,method的預設值為get,兩者的主要區別在於 1.在客戶端,get方式在通過url提交資料,提交後在位址列中的位址如圖1.4.3所示。圖1.4.3 get方式提交表單後的位址列 而post提交後地欄不變,如圖1.4.4所示。圖1.4.4 post...

表單的提交方式POST和GET

post和get都是表單屬性method的可選值,method的預設值為get,兩者的主要區別在於 1.在客戶端,get方式在通過url提交資料,提交後在位址列中的位址如圖1.4.3所示。圖1.4.3get方式提交表單後的位址列 而post提交後地欄不變,如圖1.4.4所示。圖1.4.4post方式...

表單提交中Get和Post方式的區別

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