1. 程式人生 > >《圖解HTTP》————第二章

《圖解HTTP》————第二章

二、簡單的HTTP協議

1.請求報文

GET /index.htm HTTP/1.1

Host:hackr.jp

GET 表示請求伺服器的型別,稱為 方法

/index.htm 指明瞭請求訪問的資源物件,也叫做請求URI

HTTP/1.1 即HTTP版本號,用來提示客戶端使用HTTP協議功能

這段請求內容的意思是:請求訪問某臺HTTP伺服器上的/index.htm頁面資源

 

請求報文由請求方法,請求URI,協議版本,可選的請求首部欄位和內容實體構成

2.響應報文

HTTP/1.1 200 OK

Date:Tue,10 JUL 2012 06:50:15 GMT

Content-Length:362

Content-Type:text/html

 

<html>

 

HTTP/1.1伺服器HTTP版本

200 OK   請求的處理結果的狀態碼和原因短語

Date:Tue,10 JUL 2012 06:50:15 GMT  建立響應的日期時間,是首部欄位內的屬性

空行分隔

資源實體的主體

 

響應報文由協議版本,狀態碼,用以解釋狀態碼的原因短語,可選的響應首部欄位以及實體主體構成

 

3.HTTP是不儲存狀態的協議,無狀態(stateless)

有了Cookie技術,再用HTTP協議通訊,就可以管理狀態。

 

4.請求URI定位資源

指定請求URI的方式

  1. URI為完整的請求URI    GET http://hackr.jp/index.htm HTTP/1.1
  2. 在首部欄位Host中寫明網路域名或ip地址  

    GET /index.htm HTTP/1.1

    Host:hackr.jp

如何不是訪問特定資源,而是對伺服器本身發起請求,*代替URI

OPTIONS * HTTP/1.1

5.HTTP方法

  • GET:獲取資源 用來請求訪問已被URI識別的資源
  • POST:傳輸實體主體(GET也可,一般不用) “想把這條訊息告訴你”
  • PUT:傳輸檔案 不帶驗證機制,都可上傳,不安全
  • HEAD:獲得報文首部 用於確認URI的有效性及資源更新的日期時間  和GET一樣,但不返回報文主體
  • DELETE:刪除檔案 與PUT相反,按請求URI刪除指定的資源 不安全
  • OPTIONS:詢問支援的方法 用來查詢針對請求URI指定的資源支援的方法

OPTIONS * HTTP/1.1

Host:www.hackr.jp

HTTP/1.1 200 OK

Allow:GET,POST,HEAD,OPTIONS

  • TRACE:追蹤路徑 讓Web伺服器端將之前的請求通訊返回給客戶端的方法 客戶端可以查詢傳送出去的去請求是怎樣被加工修改,篡改的  用來確認連線過程中的代理和中轉
  • CONNECT:要求用隧道協議連線代理 要求在於代理伺服器通訊時建立隧道,實現用隧道協議進行TCP通訊  主要使用SSL(安全套接層)和TLS(傳輸層安全)協議把通訊內容加密後經網路隧道傳輸

格式   CONNECT 代理伺服器名:埠號 HTTP版本
 

6.使用方法下達命令

向請求URI制定的資源傳送請求報文是,採用稱為方法的命令

方法的作用在於,可以指定請求的資源按期望產生某種行為

7.持久連結節省通訊量 只要任意一段沒有明確提出斷開連線,則保持TCP連結狀態

8.使用Cookie的狀態管理

Cookie技術通過在請求和響應報文中寫入Cookie資訊來控制客戶端的狀態

  1. 請求報文,沒有Cookie資訊的狀態
  2. 響應報文,伺服器端生產Cookie資訊
  3. 請求報文,自動傳送儲存這的Cookie資訊