GET和POST區別詳解

2022-02-03 16:43:59 字數 1356 閱讀 1330

收藏

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字符集。預設是用iso-8859-1編碼

6、get是form的預設方法。

以下的比較非常非常使用:

1. new string(request.getparameter("name").getbytes("iso-8859-1"),"客戶端指定的url encode編碼方式") 

還原回位元組碼,然後用正確的方式解碼資料,網上的文章通常是在tomcat裡面做個配置

xml**

1. 這樣是讓tomcat在獲取資料後用指定的方式url decoder,url decoder的介紹在這裡

(一)post提交

1.客戶端(瀏覽器)的form表單用post方法是如何將資料編碼後提交給伺服器端的。

在post方法裡所要傳送的資料也要url encode,那麼他是用什麼編碼方式的呢?

在form所在的html檔案裡如果有段,那麼post就會用此處指定的編碼方式編碼。一般大家都認為這段**是為了讓瀏覽器知道用什麼字符集來對網頁解釋,所以**都會把它放在html**的最前端,盡量不出現亂碼,其實它還有個作用就是指定form表單的post方法提交資料的 url encode編碼方式。從這裡可以看出對於get方法來數,瀏覽器對資料的url encode的編碼方式是有瀏覽器設定來決定,(可以用js做統一指定),而post方法,開發人員可以指定。

2。伺服器端(tomcat)是如何將資料獲取到進行解碼的。

如果用tomcat預設預設設定,也沒做過濾器等編碼設定,那麼他也是用iso-8859-1解碼的,但是request.setcharacterencoding("字符集")可以派上用場。

用post很重要的在form所在的html檔案裡如果有段

強烈建議使用post提交

post和 get 區別詳解

1.根據 規範,get 一般用於獲取 查詢資源資訊,應該是安全的和冪等。而 post 一般用於更新資源資訊 2.get 是在url 中傳遞資料,資料放在請求頭中。post 是在請求體中傳遞資料 3.get 傳送的資料量較小,只能在請求頭上傳送資料。post 傳送的資料量較大,一般被預設為不受限制。5...

POST和GET 的區別(詳解)

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

詳解HTTP中GET和POST的區別

前言我在 php處理html表單 這篇文章中,說到了處理html表單時用到了get和post方法,那麼,get和post是兩個什麼東西呢?用它們處理表單又有啥區別呢?你不知道,就看這篇文章吧。對你絕對有用,不管你信不信,反正我是信了。除了get和post這兩種方式以後,還有哪些呢?我接下來就先對ht...