HTTP請求方法及get和post的區別

2021-10-05 02:56:54 字數 1619 閱讀 2864

根據 http 標準,http 請求可以使用多種請求方法。

http1.0 定義了三種請求方法: get, post 和 head方法。

http1.1 新增了六種請求方法:options、put、patch、delete、trace 和 connect 方法。

方法描述

get請求指定的頁面資訊,並返回實體主體

head

類似於 get 請求,只不過返回的響應中沒有具體的內容,用於獲取報頭

post

向指定資源提交資料進行處理請求(例如提交表單或者上傳檔案)。資料被包含在請求體中。post 請求可能會導致新的資源的建立和/或已有資源的修改。

put從客戶端向伺服器傳送的資料取代指定的文件的內容。

delete

請求伺服器刪除指定的頁面。

connect

http/1.1 協議中預留給能夠將連線改為管道方式的**伺服器。

options

允許客戶端檢視伺服器的效能。

trace

回顯伺服器收到的請求,主要用於測試或診斷。

patch

是對 put 方法的補充,用來對已知資源進行區域性更新 。

(非完整)

最基本的方法有4種,分別是get,post,put,delete。

可以這樣理解:乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。

get和post本質上建立的都是tcp連線,所以get和post能做的事情是一樣的。你要給get加上request body,給post帶上url引數,技術上也是完全行的通的。

主要是由於http的規定和瀏覽器/伺服器的限制,導致他們在應用過程中體現出一些不同。

總的來說get主要用於向伺服器索取資料,而post主要用於向伺服器提交資料。

回退,get在瀏覽器回退時是無害的,即不會產生***,而post會再次提交請求,產生一些***

傳遞方式,get引數通過url傳遞,而post放在request body中

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

容量, get可傳遞的資料長度較小,post可傳遞的資料長度較大

實際上http協議對url的長度是沒有限制的,限制url長度大多數是瀏覽器或者伺服器的配置引數。同理post理論上來說也沒有大小限制,實際上post所能傳遞的資料量取決於伺服器的設定和記憶體大小。

快取,get請求會被瀏覽器主動快取,而post不會,除非手動設定。而且get請求引數會被完整保留在瀏覽器歷史記錄裡,而post中的引數不會被保留。

安全性,post請求比get請求相對安全一些,因為get請求的引數直接暴露在url上,而且資料會儲存在瀏覽器歷史紀錄中。由於http是明文傳輸,所以post請求通過開發者工具或者抓包也可以看到。

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

對於get方式的請求,瀏覽器會把http header和data一併傳送出去,伺服器響應200(返回資料);而對於post,瀏覽器先傳送header,伺服器響應100 continue後,瀏覽器再傳送data,伺服器響應200 (返回資料)。(並不是所有瀏覽器都會在post中傳送兩次包,firefox就只傳送一次)

HTTP協議的常見的請求方式 GET和POST

http協議的常見的請求方式 get和post 傳輸資料的大小 安全性 http協議請求如何實現 連線方式 getsynchronization get同步請求 void getandsynchronization else post同步請求 void postandsynchronization非...

http中post和get請求方法區別

說道get和post,就不得不提http協議,因為瀏覽器和伺服器的互動是通過http協議執行的,而get和post也是http協議中的兩種方法。http全稱為hyper text transfer protocol,中文翻譯為超文字傳輸協議 目的是保證瀏覽器與伺服器之間的通訊。http的工作方式是客...

http中post 和 get 請求方法區別

做web開發就一定會涉及到瀏覽器和伺服器的互動,所以了解瀏覽器和伺服器互動的方式就尤為重要。從接觸b s開始就已經接觸到了get和post,但是對它們的了解確實不深入。在後來不斷的做專案過程中,對它們不斷接觸中發現,以前的了解真的是太淺了。本篇部落格就 一下,get和post的區別。說道get和po...