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)
編輯
收藏
舉報