HTTP中GET和POST之間的區別

2021-08-20 08:26:32 字數 1610 閱讀 9923

一、原理區別

http定義了與伺服器互動的不同方式,其中最基本的方法有4種:get、post、put、delete,分別對應著資源的查、改、增、刪4個操作。由此,get一般用於查詢/獲取資源資訊,而post一般用於更新/修改資源資訊。其中,採用url(uniform resource locator,統一資源定位符)位址來描述乙個網路上的資源。每個資訊資源都有統一且在網上唯一的位址。

對於get方法來說,是用於資訊獲取,而且是安全的冪等的

安全的意味著該操作僅是用於獲取資訊而非修改資訊,不會影響資訊資源的狀態;

冪等的意味著該操作對同一url的多個請求應該返回同樣的結果。

二、表現形式區別

1、get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url中,使用者看不到這個過程。

2、對於get方式,伺服器端用request.querystring獲取變數的值;對於post方式,伺服器端用request.form獲取提交的方式。

3、get傳送的資料量較小,不能大於2kb;post傳送的資料量較大,一般被預設為不受限制,但理論上,iis4中最大資料量為80kb,iis5中最大資料量為100kb。

4、 get安全性較低,post安全性較高

比如,在進行登入操作時,通過get請求,使用者名稱和密碼都會暴露在url上,因為登入頁面有可能被瀏覽器快取以及其他人查詢瀏覽器的歷史記錄的原因,此時使用者名稱和密碼很容易被其他人拿到。

5、get產生乙個tcp資料報,post產生兩個tcp資料報

http是基於tcp/ip的關於資料如何在全球資訊網中進行通訊的協議,其底層是tcp/ip,所以get/post的底層也是tcp;

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

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

三、http狀態碼

狀態碼(status code)描述了請求過程中發生的情況

常見的http狀態碼及其含義如下:

200---ok  伺服器

成功處理

請求301---moved permanently 資源(網頁等)被永久移到其他url

302---found 資源(網頁等)被臨時移到其他url

404---not found 未找到資源

500---internal server error 伺服器內部錯誤,無法完成請求

501---not implemented 伺服器不支援請求的功能,無法完成請求

HTTP中get和post區別

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

Http中get和post請求

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

http中get和post的區別

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