接口測試之基礎篇--http協議

         概念:超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲普遍的一種網絡協議。全部的WWW文件都必須遵照這個標準。設計HTTP最初的目的是爲了提供一種發佈和接收HTML頁面的方法。 HTTP是客戶端瀏覽器或其餘程序與Web服務器之間的應用層通訊協議。 HTTP協議(HyperText Transfer Protocol,超文本傳輸協議)是用於從WWW服務器傳輸超文本到本地瀏覽器的傳輸協議python

      HTTP協議定義Web客戶端如何從Web服務器請求Web頁面,以及服務器如何把Web頁面傳送給客戶端。HTTP協議採用了請求/響應模型。客戶端向服務器發送一個請求報文,請求報文包含請求的方法、URL、協議版本、請求頭部和請求數據。服務器以一個狀態行做爲響應,響應的內容包括協議的版本、成功或者錯誤代碼、服務器信息、響應頭部和響應數據。瀏覽器

HTTP 請求/響應的步驟:緩存

一、客戶端鏈接到Web服務器服務器

二、發送HTTP請求微信

三、服務器接受請求並返回HTTP響應網絡

四、釋放鏈接TCP鏈接性能

五、客戶端瀏覽器解析HTML內容測試

HTTP請求編碼

 是指從客戶端到服務器端的請求消息。包括:消息首行中,對資源的請求方法、資源的標識符及使用的協議。url

HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。

 

當瀏覽器向Web服務器發出請求時,它向服務器傳遞了一個數據塊,也就是請求信息,

  HTTP請求信息由3部分組成:

(1)請求方法URI協議/版本

      (2) 請求頭(Request Header)

      (3) 請求正文

 

http請求方法

   GET 請求指定的頁面信息,並返回實體主體。

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

  POST 向指定資源提交數據進行處理請求(例如提交表單或者上傳文件)。數據被包含在請求體中。POST請求可能會致使新的資源的創建和/或已有資源的修改。 

  PUT 從客戶端向服務器傳送的數據取代指定的文檔的內容。 DELETE 請求服務器刪除指定的頁面。 

  CONNECT HTTP/1.1協議中預留給可以將鏈接改成管道方式的代理服務器。

  OPTIONS 容許客戶端查看服務器的性能。

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

http請求頭

   Accept: 瀏覽器可接受的MIME類型。

  Accept-Charset:瀏覽器可接受的字符集。

  Accept-Encoding:瀏覽器可以進行解碼的數據編碼方式,好比gzip。Servlet可以向支持gzip的瀏覽器返回經gzip編碼的HTML頁面。許多情形下這能夠減小5到10倍的下載時間。

  Accept-Language:瀏覽器所但願的語言種類,當服務器可以提供一種以上的語言版本時要用到。

  Authorization:受權信息,一般出如今對服務器發送的WWW-Authenticate頭的應答中。

  Content-Length:表示請求消息正文的長度。

  Host: 客戶機經過這個頭告訴服務器,想訪問的主機名。Host頭域指定請求資源的Intenet主機和端口號,必須表示請求url的原始服務器或網關的位置。HTTP/1.1請求必須包含主機頭域,不然系統會以400狀態碼返回。

http響應

        Allow:服務器支持哪些請求方法(如GET、POST等)。

  Content-Encoding:文檔的編碼(Encode)方法。

  HTTP-Version表示支持的HTTP版本

  Status-Code是一個三個數字的結果代碼

  Request Method 請求方式

  reason-Phrase給Status-Code提供一個簡單的文本描述。Status-Code主要用於機器自動識別,

  Reason-Phrase主要用於幫助用戶理解。

  Status-Code的第一個數字定義響應的類別,後兩個數字沒有分類的做用。

  1xx:信息響應類,表示接收到請求而且繼續處理

  2xx:處理成功響應類,表示動做被成功接收、理解和接受

  3xx:重定向響應類,爲了完成指定的動做,必須接受進一步處理

  4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行

  5xx:服務端錯誤,服務器不能正確執行一個正確的請求

  Remote Address:終端ip

  Content-Length:表示內容長度

      Date:當前的GMT時間

  Expires:告訴瀏覽器把回送的資源緩存多長時間

  Last-Modified:文檔的最後改動時間。

  Location:這個頭配合302狀態碼使用,用於重定向接收者到一個新URI地址。

  Refresh:告訴瀏覽器隔多久刷新一次,以秒計。

  Server:服務器經過這個頭告訴瀏覽器服務器的類型。Server響應頭包含處理請求的原始服務器的軟件信息。此域能包含多個產品標識和註釋,產品標識通常按照重要性排序。Servlet通常不設置這個值,而是由Web服務器本身設置。

  Set-Cookie:設置和頁面關聯的Cookie。Servlet不該使用response.setHeader(「Set-Cookie」, …),而是應使用HttpServletResponse提供的專用方法addCookie。

      Transfer-Encoding:告訴瀏覽器數據的傳送格式。

  WWW-Authenticate:客戶應該在Authorization頭中提供什麼類型的受權信息?

 

  新建python接口測試交流羣 :651392041

       微信公衆號不按期更新

  

 

        系列視頻地址:http://v.qq.com/vplus/6797e52f56a39105a0b6c87bb849e22c

 

 

 

相關文章
相關標籤/搜索