HTTP中的GET POST PUT的區別與應用

2021-09-28 17:29:03 字數 1298 閱讀 8301

一、方法解釋:

get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊。

post方法向伺服器提交資料,比如完成表單資料的提交,將資料提交給伺服器處理。

put方法是讓伺服器用請求的主體部分來建立乙個由所請求的url命名的新文件;如果那個文件存在的話,就用這個主體來代替它。

二、get&post區別:

w3chool官方解釋:

get在瀏覽器回退時是無害的,而post會再次提交請求。

get產生的url位址可以被bookmark,而post不可以。

get請求會被瀏覽器主動cache,而post不會,除非手動設定。

get請求只能進行url編碼,而post支援多種編碼方式。

get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。

get請求在url中傳送的引數是有長度限制的,最多64k,而post沒有。

對引數的資料型別,get只接受ascii字元,而post沒有限制。

get比post更不安全,因為引數直接暴露在url上,所以不能用來傳遞敏感資訊。

get和post還有乙個重大區別,簡單的說:

get產生乙個tcp資料報;post產生兩個tcp資料報。

詳細的的說:

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);

而對於post,瀏覽器先傳送header,伺服器響應100後,瀏覽器再傳送data,伺服器響應200 ok(返回資料)。

也就是說,get只需要汽車跑一趟就把貨送到了,而post得跑兩趟,第一趟,先去和伺服器打個招呼,然後再回頭把貨送過去。

get與post都有自己的語義,不能隨便混用。

據研究,在網路環境好的情況下,發一次包的時間和發兩次包的時間差別基本可以無視。而在網路環境差的情況下,兩次包的tcp在驗證資料報完整性上,有非常大的優點。

並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次。

三、put&post區別與應用:

put請求:如果兩個請求相同,後乙個請求會把第乙個請求覆蓋掉。(所以put用來改資源)

post求:後乙個請求不會把第乙個請求覆蓋掉。(所以post用來增資源)

四、get&post應用建議:

1、get方式的安全性較post方式要差些,包含機密資訊的話,建議用post資料提交方式;

2、在做資料查詢時,建議用get方式;而在做資料新增、修改或刪除時,建議用post方式;

Android Android中的Http通訊

配置網路許可權,在androidmanifest.xml註冊 初始化webview,請求並且執行網路操作。mwebview webview findviewbyid r.id.mwebview msendurltask new sendurltask msendurltask.execute 在se...

HTTP協議?HTTP協議中POST GET H

head to inde x.html not supported.invalid method in request head htp 1.1 apache 1.3.12 server at www.fudan.edu.cn port 80 關於實體頭部的內容還可以有 last modified ...

HTTP協議中的Tranfer Encoding

http協議中的tranfer encoding 當不能預先確定報文體的長度時,不可能在頭中包含content length域來指明報文體長度,此時就需要通過transfer encoding域來確定報文體長度。通常情況下,transfer encoding域的值應當為chunked,表明採用chu...