http協議詳解
http協議是應用層的協議,那麼它是如何工作的呢?
1) 客戶端與伺服器端需要建立連線
2) 客戶端傳送請求。
3) 伺服器收到請求,給予相應的響應資訊。
4) 客戶端接收伺服器返回的資訊並顯示,斷開連線。
http協議的工作:請求和響應。
1. 請求
http請求由三部分組成:
請求行、訊息報頭、請求正文。
引數說明:
1) method: 請求方法
2) request-url: 統一資源識別符號
3) http-version: 請求的http協議版本
4) crlf:回車和換行
一些常用的請求方法有:
a. get: 請求獲取request-url標識的資源。
b. post: 在所標識的資源後附加新的資料。
c. head: 請求獲取響應訊息報頭。(不返回內容,和get類似)
d. put: 請求伺服器儲存乙個資源,並用request-url作為其標識。
e. delete: 請求伺服器刪除所標識的資源。
f. trace: 請求伺服器回送收到的請求資訊,主要用於測試和判斷。
g. connect: 保留以備將來使用。
2. 響應
http響應由三部分組成:
狀態行、訊息報頭、響應正文
引數說明:
1) status-code:伺服器發回的響應狀態**。
2) reason-phrase:狀態**的文字描述
狀態**有五種可能的取值:
a) 1xx:指示資訊——請求已經接收,繼續處理。
b) 2xx:成功——請求成功被接收、理解、接受。如:200 ok
c) 3xx:重定向——要完成請求必須進一步操作。
d) 4xx:客戶端錯誤——請求有語法錯誤或請求無法實現。如:400 bad request:請求由語法錯誤,不能被伺服器理解。 403 forbidden:伺服器接收到請求,但是拒絕提供服務。404 not found:請求資源不存在,可能輸錯了url。
e) 5xx:伺服器端錯誤——伺服器未能實現合法的請求。例如:500 internal server error:伺服器發生了不可預期的錯誤。503 server un**ailable:伺服器當前不能處理客戶端的請求,一段時間可能會恢復。
響應正文就是伺服器返回的資源的內容。
例如:
3.報頭
http訊息報頭包括普通報頭、請求報頭、響應報頭、實體報頭。
例如:
比較重要的幾個報頭如下:
1. host:頭域指定請求資源的internet主機和埠號,必須表示請求url的原始伺服器或閘道器位置。
2. user-agent:簡稱ua,內容包括發出請求的使用者資訊。主要是瀏覽器的名稱版本和所用的作業系統。如上截圖,客戶端使用的是gecko渲染引擎的瀏覽器,這裡是火狐;作業系統為windows nt 5.1的核心 即為windows xp。
3. accept:告訴伺服器可以接收的檔案格式。早期,通過wap瀏覽器所能接受的格式少一些來區分wap和計算機。
4. cookie:分兩種:一種是客戶端向伺服器端傳送的,使用cookie報頭,用來標記一些資訊;另一種是伺服器傳送給瀏覽器的,報頭為set-cookie。cookie報頭的value裡可以有多個cookie值,不需要顯示指定domain。而set-cookie乙個記錄只能乙個cookie的value需要指定domain和path。
5. cache-control:指定請求和響應遵循的快取機制。
7. content-length:內容長度。
注意:在使用post請求時,需要指定content-length和content-type。
例如:
Http協議詳解 Http請求詳解
http是hypertext transfer protocol 超文字傳輸協議 的簡寫,它是tcp ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程。客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端與w...
Http協議詳解
http協議是乙個基於tcp ip 的協議,使用的是一種請求 響應模型 目前的版本為1。1,但有一些 仍然使用1。0的版本,在待會的實驗中,我們可以看到,網易的主頁163.com仍舊使用的1.0的標準。1 何為請求 響應機制 在這一種機制中,總是客戶端請求伺服器,伺服器接受響應後根據請求端的請求資訊...
HTTP協議詳解
head to inde x.html not supported.invalid method in request head htp 1.1 apache 1.3.12 server at www.fudan.edu.cn port 80 關於實體頭部的內容還可以有 last modified ...