HTTP中get和post的區別

2021-08-20 21:32:01 字數 1490 閱讀 4891

http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是get,post,put,delete。url全稱是資源描述符,我們可以這樣認為:乙個url位址,它用於描述乙個網路上的資源,而http中的get,post,put,delete就對應著對這個資源的查,改,增,刪4個操作。更多的方法參照下面。

(1)get請求,請求的資料會附加在url之後,以?分割url和傳輸資料,多個引數用&連線。url的編碼格式採用的是ascii編碼,而不是uniclde,即是說所有的非ascii字元都要編碼之後再傳輸。另外傳輸的資料如果是英文或數字,原樣傳送,否則進行base64編碼,例如中文或其它字元。

例子:

例如我在必應上搜尋了http中的get和post的區別,瀏覽器會反饋如下的**

我發現的乙個例外是我在qq**首頁上搜尋了周杰倫,即向伺服器傳送了乙個get請求,會發現請求資料會附加在url之後,但是卻以#分割url和傳輸資料,希望有大神可以幫忙我解答一下。瀏覽器反饋的**如下

(2)get提交的資料比較少,最多1024b,因為get資料是附在url之後的,而url則會受到不同環境的限制的,比如說ie對其限制為2k+35,而post可以傳送更多的資料(理論上是沒有限制的,但一般也會受不同的環境,如瀏覽器、作業系統、伺服器處理能力等限制,iis4可支援80kb,iis5可支援100kb)。

(3)post的安全性要比get高,因為get時,引數資料是明文傳輸的,而且使用get的話,可能造成cross-site request forgery攻擊。另外,在進行登入操作,通過get請求,使用者名稱和密碼都會暴露再url上,因為登入頁面有可能被瀏覽器快取以及其他人檢視瀏覽器的歷史記錄的原因,此時的使用者名稱和密碼就很容易被他人拿到了。而post資料則可以加密的,但get的速度可能會快些。

當瀏覽者訪問乙個網頁時,瀏覽者的瀏覽器會向網頁所在伺服器發出請求。當瀏覽器接收並顯示網頁前,此網頁所在的伺服器會返回乙個包含http狀態碼的資訊頭(server header)用以響應瀏覽器的請求。

下面是常見的http狀態碼:

200- 請求成功

301- 資源(網頁等)被永久轉移到其它url

404- 請求的資源(網頁等)不存在

500- 內部伺服器錯誤

http狀態碼分類

http狀態碼由三個十進位制數字組成,第乙個十進位制數字定義了狀態碼的型別,後兩個數字沒有分類的作用。http狀態碼共分為5種型別:

詳細的狀態碼列表請參考

更多關於這方面的內容的請參考:

SpringMVC中post和get的區別

這是一篇我在csdn上的第一篇部落格,請大家多多支援。在前面我先宣告 這篇文章的內容基本上都是網上各部落格的,我只是整理一下,給需要的人梳理一下而已。首先先放個人覺得比較好的關於post和get的區別的分析的鏈結 在講區別前先講一下 requestbody。requestbody主要用來接收前端傳遞...

在http請求中,get和post有什麼區別

世界上並沒有完美的程式,但是我們並不因此而沮喪,因為寫程式就是乙個不斷追求完美的過程。get?post?在做 開發時,大家經常會使用http的get與post方法,但是這兩個method有什麼區別呢?在說區別之前,大家要明白一點,get和post都是基於http協議的,所以本質上是一致的。因此區別是...

HTTP中get和post區別

記得剛開始學習web技術的時候老師教我們的get和post區別是什麼 1.get用於獲取資料 post用於提交資料 2.get攜帶的資料大小比post少 3.get不安全 post安全 當開始找工作的時候面試官問我這倆的區別的時候我很自信的重複了之前老師講的區別 面試官問 除了get和post還有其...