介面基礎知識

2022-06-18 01:48:11 字數 4361 閱讀 8620

在正式進入介面測試之前,我們來回憶和補充一下關於介面的基礎知識,這將為我們後面做介面測試奠定基礎。好了,廢話不多說,直接上乾貨。

1)常見的介面協議

2)什麼是介面測試

介面測試本質是基於某種協議,傳送乙個請求給伺服器,然後伺服器返回乙個響應資料,通過對響應資料的分析,判斷是否與我們預期的返回一致,從而驗證功能是否正確,這就是介面測試。

那麼,客戶端到底是如何向伺服器傳送請求的呢?

1)初識http協議

http協議:超文字傳輸協議(hypertext transfer protocol)是網際網路上應用最為廣泛的一種網路協議。所有的html檔案都必須遵守這個標準。設計http最初的目的就是為了提供一種發布和接受html頁面的方法。

https協議:(hypertext transfer protocol over secure socket layer)簡單講就是http協議的安全版,在http協議下加入了ssl層。

ssl:(secure socket layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。

2)http請求的過程

http通訊由兩部分組成:客戶端請求資訊 和 伺服器響應資訊。

3)http請求資訊

在瀏覽器輸入url位址訪問某個**,傳送乙個http請求到伺服器的請求訊息,包含以下格式:

請求行:

請求頭部(request headers):

referer(頁面跳轉處):表示請求的網頁來自哪個url,使用者是從該referer頁面訪問到該頁面的。這個屬性可以用來追蹤web請求來自哪個頁面,是從什麼**來的等。

accept-language(語言種類):指出瀏覽器可以接受的語言種類,如en或en-us表示英語,zh或者zh-cn表示中文,當伺服器能夠提供一種以上的語言版本時要用到。

cache-control:max-age= 0:明確表示不會快取伺服器資源;

accpet-charset(字元編碼):指出瀏覽器可以接受的字元編碼。如果在請求訊息中沒有設定這個域,預設是任何字符集都可以接受;

cookie:瀏覽器用這個屬性向伺服器傳送cookie。cookie是在瀏覽器中寄存的小型資料體,用以記載和伺服器相關的使用者資訊,也可以用來實現會話功能,後面我們會詳細介紹;

content-type(post資料型別):post請求裡用來表示的內容型別。

4)http響應資料

伺服器接收到請求後,返回的http響應也由4部分組成,分別是:

狀態行:乙個數字與文字組成的狀態碼,用來顯示請求成功失敗資訊,如:status code:  200 ok

訊息報頭:響應頭與請求頭包含許多有用資訊,例如:伺服器型別、日期時間、內容型別和長度等。

伺服器端的響應header(response header)

空行:用來分割

響應體:即響應正文。

5)http響應狀態碼

100 (繼續) 請求者應當繼續提出請求。 伺服器返回此**表示已收到請求的第一部分,正在等待其餘部分。  

101 (切換協議) 請求者已要求伺服器切換協議,伺服器已確認並準備切換。

200(成功)  伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁。

201(已建立)  請求成功且伺服器已建立了新的資源。 

202(已接受)  伺服器已接受了請求,但尚未對其進行處理。 

203(非授權資訊)  伺服器已成功處理了請求,但返回了可能來自另一**的資訊。 

204(無內容)  伺服器成功處理了請求,但未返回任何內容。 

205(重置內容) 伺服器成功處理了請求,但未返回任何內容。與 204 響應不同,此響應要求請求者重置文件檢視(例如清除表單內容以輸入新內容)。 

206(部分內容)  伺服器成功處理了部分 get 請求。

300 (多種選擇)  針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。 

301 (永久移動)  請求的網頁已永久移動到新位置。 伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求者轉到新位置。 

302 (臨時移動)  伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。 

303 (檢視其他位置) 請求者應當對不同的位置使用單獨的 get 請求來檢索響應時,伺服器返回此**。 

304 (未修改) 自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容。 

305 (使用**) 請求者只能使用**訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用**。 

307 (臨時重定向)  伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

400 (錯誤請求) 伺服器不理解請求的語法。 

401 (未授權) 請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應。 

403 (禁止) 伺服器拒絕請求。 

404 (未找到) 伺服器找不到請求的網頁。 

405 (方法禁用) 禁用請求中指定的方法。 

406 (不接受) 無法使用請求的內容特性響應請求的網頁。 

407 (需要**授權) 此狀態**與 401(未授權)類似,但指定請求者應當授權使用**。 

408 (請求超時)  伺服器等候請求時發生超時。 

409 (衝突)  伺服器在完成請求時發生衝突。 伺服器必須在響應中包含有關衝突的資訊。 

410 (已刪除)  如果請求的資源已永久刪除,伺服器就會返回此響應。 

411 (需要有效長度) 伺服器不接受不含有效內容長度標頭字段的請求。 

412 (未滿足前提條件) 伺服器未滿足請求者在請求中設定的其中乙個前提條件。 

413 (請求實體過大) 伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力。 

414 (請求的 uri 過長) 請求的 uri(通常為**)過長,伺服器無法處理。 

415 (不支援的**型別) 請求的格式不受請求頁面的支援。 

416 (請求範圍不符合要求) 如果頁面無法提供請求的範圍,則伺服器會返回此狀態**。 

417 (未滿足期望值) 伺服器未滿足」期望」請求標頭字段的要求。

500 (伺服器內部錯誤)  伺服器遇到錯誤,無法完成請求。 

501 (尚未實施) 伺服器不具備完成請求的功能。 例如,伺服器無法識別請求方法時可能會返回此**。 

502 (錯誤閘道器) 伺服器作為閘道器或**,從上游伺服器收到無效響應。 

503 (服務不可用) 伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。 

504 (閘道器超時)  伺服器作為閘道器或**,但是沒有及時從上游伺服器收到請求。 

505 (http 版本不受支援) 伺服器不支援請求中所用的 http 協議版本。

6)http請求方法

根據http標準,http請求可以使用多種請求方法:

http請求常用的get和post兩種方法:

用兩句話來理解鑑權和授權:

1)cookies和session

首先我們用一張圖來表示它們之間的關係:

token和session的區別:

介面基礎知識

介面的命名規則與類相同,如果修飾符是public,則該介面在整個專案中可見 如果省略修飾符,則該介面只在當前包前可見 介面中可以定義常量,不能定義變數,介面的屬性都會自動用public static final修飾,既介面中的屬性都是全域性靜態常量,介面中的常量必須在定義時指定初始值 介面中所有方法...

介面基礎知識

1 介面是橋梁,前後端是分開開發的,模擬介面moke 2 介面組成 get,和post全球性不一樣 get 進行分割 post是乙個鏈結,通過資料進行拼接 資料之間只有乙個表單的形式進行提交 介面分類 put,indit,get,post 如何理解介面?橋梁,負責傳輸資料 介面測試和功能測試區別?在...

介面測試基礎知識

什麼是介面測試 測試人員通常所說的 介面測試 是針對系統各元件之間介面的一種測試,它屬於功能測試。介面能測出普通介面操作難以發現的問題。如,我們都知道系統是由前端後端組成,一些資料在前端做了校驗,後端同樣也需要校驗才能保證安全,介面操作顯然只能檢查到前端校驗這一層,只有直接面對前後端之間的該介面才能...