天天看點

post與get的差別 - rhyme

post與get的差別

GET請求在URL中傳送的參數大多數浏覽器限制該長度為2kb的,而POST沒有。

GET比POST更不安全,因為參數直接暴露在URL上,是以不能用來傳遞敏感資訊。

GET參數通過URL傳遞,POST放在Request body中。

GET請求參數會被完整保留在浏覽器曆史記錄裡,而POST中的參數不會被保留。

GET請求隻能進行url編碼,而POST支援多種編碼方式。

GET請求會被浏覽器主動cache,而POST不會,除非手動設定。

GET産生的URL位址可以被Bookmark,而POST不可以。

GET在浏覽器回退時是無害的,而POST會再次送出請求。

GET和POST還有一個重大差別,簡單的說:

GET産生一個TCP資料包;POST産生兩個TCP資料包(Http協定底層TCP/IP)。

長的說:

對于GET方式的請求,浏覽器會把http header和data一并發送出去,伺服器響應200(傳回資料);

而對于POST,浏覽器先發送header,伺服器響應100 continue,浏覽器再發送data,伺服器響應200 ok(傳回資料)。

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安全性較高。但是get執行效率卻比Post方法好。 

建議:
1、get方式的安全性較Post方式要差些,包含機密資訊的話,建議用Post資料送出方式;
2、在做資料查詢時,建議用Get方式;而在做資料添加、修改或删除時,建議用Post方式;
      
來源:
https://www.cnblogs.com/songanwei/p/9387815.html
http://zhidao.baidu.com/question/87535798.html      

發表于

2017-05-14 20:46 

rhyme 

閱讀(260) 

評論(0) 

編輯 

收藏 

舉報