Http 協議請求方法分析

2021-07-04 19:20:17 字數 1650 閱讀 5435

博文摘自:

get和post的本質區別是什麼?

使用get,form中的資料將編碼到url中,而使用post的form中的資料則在http協議的header中傳輸。在使用上,當且僅當請求冪等(字面意思是請求任意次返回同樣的結果,本質是請求本身不會改變伺服器資料和狀態)時使用get,當請求會改變伺服器資料或狀態時(更新資料,上傳檔案),應該使用post。

區別使用get,post意義何在?

重複訪問使用get方法請求的頁面,瀏覽器會使用快取處理後續請求。使用post方法的form提交時,瀏覽器機遇post將產生永久改變的假設,將讓使用者進行提交確認。當編**員正確的使用get,post後,瀏覽器會給出很好的快取配合,時響應速度更快。

在form提交階段的差別

在伺服器處理部分的差別

原則上,除理get和post請求是沒有分別的。但由於資料通過不同的方法編碼,需要有不同的解碼機制。所以,方法變化將導致處理請求的**變化。比如對於cgi,處理get時通過環境變數獲得引數,處理post請求時則通過標準輸入(stdin) 獲得資料。

從使用經驗,我們有如下總結:

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

2、對於get方式,伺服器端用request.querystring獲取變數的值,對於post方式,伺服器端用request.form獲取提交的資料。兩種方式的引數都可以用request來獲得。

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

4、get安全性非常低,post安全性較高。

5、跟是一樣的,也就是說,action頁面後邊帶的引數列表會被忽視;而跟是不一樣的。

序號方法描述1

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

2head

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

3post

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

4put

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

5delete

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

6connect

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

7options

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

8trace

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

9patch

實體中包含乙個表,表中說明與該uri所表示的原內容的區別。

10move

請求伺服器將指定的頁面移至另乙個網路位址。

11copy

請求伺服器將指定的頁面拷貝至另乙個網路位址。

12link

請求伺服器建立鏈結關係。

13unlink

斷開鏈結關係。

14允許客戶端傳送經過封裝的請求。

15extension-mothed

在不改動協議的前提下,可增加另外的方法。

HTTP協議 請求方法

今天筆試選擇題問到http請求方法,一時間想不起來,所以來總結一下。通訊流程 斷開式 無狀態 斷開式 http 協議每次響應完成後,會斷開與客戶端的連線 無狀態 由於伺服器斷開了之前的連線,就無法知曉連線間的關係 內容格式 訊息頭和訊息體 根據 http 標準,http 請求可以使用多種請求方法。h...

http協議請求流程分析

http協議請求流程分析 使用者輸入url 位址鏈結 客戶端獲取到埠及主機名後,客戶端利用dns解析網域名稱,首先客戶端的瀏覽器會先找自身的快取,如果有解析結束,如果沒有客戶端會去找host檔案,如果host檔案沒有的話,客戶端會去找本地的dns快取伺服器,本地的dns快取伺服器沒有的話,快取伺服器...

HTTP協議請求流程分析

一 dns網域名稱解析 使用者輸入乙個url 統一資源定位符 或點選乙個鏈結,這裡以訪問www.baidu.com為例。2 查詢主機的hosts檔案,若hosts檔案中存在直接通過主機訪問。如果不存在 4 本地dns快取伺服器會去尋找 根域 根域不存在具體位址,會返回 com 一級域 5 本地dns...