Http協議詳解(請求講解)

2021-06-18 00:17:13 字數 1751 閱讀 5198

http請求由三部分組成,分別是:請求行、訊息報頭、請求正文

1、請求行以乙個方法符號開頭,以空格分開,後面跟著請求的uri和協議的版本,格式如下:method request-uri http-version crlf  

其中 method表示請求方法;request-uri是乙個統一資源識別符號;http-version表示請求的http協議版本;crlf表示回車和換行(除了作為結尾的crlf外,不允許出現單獨的cr或lf字元)。

請求方法(所有方法全為大寫)有多種,各個方法的解釋如下:

get     請求獲取request-uri所標識的資源

post    在request-uri所標識的資源後附加新的資料

head    請求獲取由request-uri所標識的資源的響應訊息報頭

put     請求伺服器儲存乙個資源,並用request-uri作為其標識

delete  請求伺服器刪除request-uri所標識的資源

trace   請求伺服器回送收到的請求資訊,主要用於測試或診斷

connect 保留將來使用

options 請求查詢伺服器的效能,或者查詢與資源相關的選項和需求

應用舉例:

get方法:在瀏覽器的位址列中輸入**的方式訪問網頁時,瀏覽器採用get方法向伺服器獲取資源,eg:get /form.html http/1.1 (crlf)

post方法要求被請求伺服器接受附在請求後面的資料,常用於提交表單。

(crlf)         //該crlf表示訊息報頭已經結束,在此之前為訊息報頭

user=jeffrey&pwd=1234  //此行以下為提交的資料

head方法與get方法幾乎是一樣的,對於head請求的回應部分來說,它的http頭部中包含的資訊與通過get請求所得到的資訊是相同的。利用這個方法,不必傳輸整個資源內容,就可以得到request-uri所標識的資源的資訊。該方法常用於測試超連結的有效性,是否可以訪問,以及最近是否更新。

2、請求報頭後述

3、請求正文(略) 

http中的get, post, put, delete就對應著對這個資源的查,改,增,刪4個操作。 我們最常見的就是get和post了。get一般用於獲取/查詢資源資訊,而post一般用於更新資源資訊.

我們看看get和post的區別

1. get提交的資料會放在url之後,以?分割url和傳輸資料,引數之間以&相連,如editposts.aspx?name=test1&id=123456.  post方法是把提交的資料放在http包的body中.

2. get提交的資料大小有限制(因為瀏覽器對url的長度有限制),而post方法提交的資料沒有限制.

3. get方式需要使用request.querystring來取得變數的值,而post方式通過request.form來獲取變數的值。

4. get方式提交資料,會帶來安全問題,比如乙個登入頁面,通過get方式提交資料時,使用者名稱和密碼將出現在url上,如果頁面可以被快取或者其他人可以訪問這台機器,就可以從歷史記錄獲得該使用者的賬號和密碼.

Http協議詳解 Http請求詳解

http是hypertext transfer protocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程。客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端與w...

HTTP 請求協議詳解

1.http協議位於 osi 協議中的 應用層。2.http 協議是什麼 http hypertext transfer protocol 超文字傳輸協議,是網際網路上應用最廣泛的一種網路協議,所有www檔案都必須遵守的乙個標準,是以 ascii 碼傳輸,建立在 tcp ip 協議之上的應用層規範。...

詳解 HTTP協議 (三) HTTP 請求方法

http 請求方法 根據http標準,http請求可以使用多種請求方法 方法 描述get 請求指定頁面資訊,返回實體主體 head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 post 向指定資源提交資料進行處理請求 例如提交表單或者上傳檔案 資料被包含在請求體中。post請求...