深入了解接口測試:方法、工具和關鍵考慮因素

接口測試是軟件測試中的一項重要工作,它涉及到系統與系統之間的交互點。接口可以是外部接口,也可以是內部接口,包括上層服務與下層服務接口以及同級接口。在接口測試中,我們需要確保接口能夠按照預期的方式進行通信和交互,并且能夠正確處理輸入和輸出數據。

1. HTTPS 的工作原理

我們都知道HTTPS能夠加密信息,以免敏感信息被第三方獲取,所以很多銀行網站或電子郵箱等等安全級別較高的服務都會采用HTTPS協議。

客戶端在使用HTTPS方式與Web服務器通信時有以下幾個步驟:

客戶使用https的URL訪問Web服務器,要求與Web服務器建立SSL連接。

Web服務器收到客戶端請求后,會將網站的證書信息(證書中包含公鑰)傳送一份給客戶端。

客戶端的瀏覽器與Web服務器開始協商SSL連接的安全等級,也就是信息加密的等級。

客戶端的瀏覽器根據雙方同意的安全等級建立會話密鑰,然后利用網站的公鑰將會話密鑰加密并傳送給網站。

Web服務器利用自己的私鑰解密出會話密鑰。

Web服務器利用會話密鑰加密與客戶端之間的通信。

2. HTTPS的優點

盡管HTTPS并非絕對安全,掌握根證書的機構、掌握加密算法的組織同樣可以進行中間人形式的攻擊,但HTTPS仍是現行架構下最安全的解決方案,主要有以下幾個好處:

使用HTTPS協議可認證用戶和服務器,確保數據發送到正確的客戶機和服務器。

HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,要比HTTP協議安全,可防止數據在傳輸過程中被竊取、改變,確保數據的完整性。

HTTPS是現行架構下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。

谷歌曾在2014年8月份調整搜索引擎算法,并稱“比起同等HTTP網站,采用HTTPS加密的網站在搜索結果中的排名將會更高”。

3. HTTPS的缺點

雖然說HTTPS有很大的優勢,但相對來說,它還是存在一些不足之處:

HTTPS協議握手階段比較費時,會使頁面的加載時間延長近50%,增加10%到20%的耗電。

HTTPS連接緩存不如HTTP高效,會增加數據開銷和功耗,甚至已有的安全措施也會因此而受到影響。

SSL證書需要錢,功能越強大的證書費用越高,個人網站、小網站一般不會用。

SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。HTTPS協議的加密范圍也比較有限,在黑客攻擊、拒絕服務攻擊、服務器劫持等方面幾乎起不到什么作用。最關鍵的是,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。

4. HTTPS和HTTP的區別

HTTPS協議需要到CA申請證書,一般免費證書較少,因而需要一定費用。

HTTP是超文本傳輸協議,信息是明文傳輸;HTTPS則是具有安全性的SSL加密傳輸協議。

HTTP和HTTPS使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

HTTP的連接很簡單,是無狀態的;HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比HTTP協議安全。

HTTP的URL參數在瀏覽器歷史記錄中保留,而HTTPS的參數不會被保留。

HTTP的參數傳遞有長度限制,而HTTPS沒有。

HTTP比HTTPS更不安全,因為參數直接暴露在URL上,所以不能用來傳遞敏感信息。

GET請求的參數通過URL傳遞,而POST請求的參數放在請求體中。

GET請求產生一個TCP數據包,而POST請求產生兩個TCP數據包。

5. Session與Cookie的區別

Session和Cookie是Web開發中常用的狀態管理機制,它們在保存用戶信息和維持用戶會話方面有所不同。

保存位置:Session數據保存在服務器端,而Cookie數據保存在客戶端瀏覽器。

保存方式:Session默認被存在服務器的一個文件里,可以手動設置存儲位置;Cookie默認保存在客戶端內存中,如果設置了過期時間就保存在硬盤中。

依賴關系:Session依賴Cookie來識別sessionid,如果瀏覽器禁用了Cookie,Session也會失效,此時可以通過URL傳遞sessionid。

安全

性:因為Session數據保存在服務器端,所以Session的安全性比Cookie高。

尺寸大小:Session基本上沒有大小限制,而Cookie保存的內容比較小,具體由瀏覽器決定。

服務器性能:Session對服務器的壓力會更大一些,而Cookie放在客戶端,所以對服務器基本沒影響。

6. TCP和UDP的區別

TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是互聯網協議套件中的兩個主要傳輸層協議,它們有以下區別:

TCP是面向連接的協議,而UDP是無連接的協議。TCP在通信之前需要建立連接,而UDP不需要。

TCP提供可靠的服務,確保數據傳輸的可靠性和順序,而UDP不保證可靠性,盡最大努力交付數據。

TCP面向字節流,將數據看作連續的字節流,而UDP是面向報文的,將數據看作獨立的報文。

TCP有擁塞控制機制,會根據網絡情況調整發送數據的速率,而UDP沒有擁塞控制,發送數據不受限制。

TCP是一對一的通信,即一個發送方和一個接收方進行通信,而UDP支持一對一、一對多、多對一和多對多的通信。

TCP的首部開銷較大,占用20個字節,而UDP的首部開銷較小,只有8個字節。

7. 什么是TCP/IP?

TCP/IP是互聯網協議套件,也被稱為互聯網通信協議族,是構建和組織互聯網的基礎通信架構。

TCP/IP協議族下的兩個核心協議是TCP(傳輸控制協議)和IP(網際協議)。它們是在網絡通信協議分層結構中的關鍵協議,被稱為TCP/IP協議棧。

TCP/IP協議提供了點對點的鏈接機制,定義了數據的封裝、定址、傳輸、路由以及在目的地如何接收等標準化過程。

協議棧按照不同功能將協議分層,每個層次實現不同的通信協議。TCP/IP協議族的各種協議根據其功能不同被歸類到四個層次結構中,通常被視為是簡化的七層OSI模型。

8. 常見的接口類型及API文檔模板

常見的接口類型包括:

HTTP接口:基于HTTP協議的接口,是應用最廣泛的網絡協議之一,大多數基于瀏覽器/服務器架構的軟件系統使用HTTP接口。

Web Service接口:系統對外的接口,根據提供的方法引用提供的接口,從而獲取數據。

RESTful接口:描述了一種架構式的網絡系統,基于標準HTTP方法和URL進行通信,支持系統間資源的交互。

常見的API文檔模板包括:

Swagger

FlatDoc

RestDoc

API Blueprint

Slate

Miredot

9. Cookie的作用及測試點

Cookie是一種用于在客戶端存儲數據的機制,它具有簡便性、可擴展性和可用性,可用于解決HTTP協議無狀態的問題。Cookie的作用主要包括:

會話管理:通過存儲會話標識,實現用戶狀態的管理和跟蹤。

用戶個性化設置:記錄用戶的偏好和設置,提供個性化的用戶體驗。

購物車功能:在電商網站中存儲用戶選擇的商品信息,方便用戶進行購物。

記住登錄狀態:在用戶登錄后,存儲登錄憑證,使用戶在一段時間內免登錄訪問。

在進行Cookie測試時,可以關注以下測試點:

禁止使用Cookie:測試在禁用Cookie的情況下系統是否能正常工作。

Cookie存儲路徑:檢查Cookie存放路徑是否與設置一致。

Cookie過期檢查:驗證存放的Cookie在過期后是否被自動刪除。

檢查瀏覽器中Cookie選項:測試不同瀏覽器的Cookie選項,驗證是否可以正常接受和存儲Cookie。

瀏覽器刪除Cookie:通過瀏覽器的設置,測試是否能正確刪除Cookie文件。

Cookie加密:驗證在提交敏感信息時,數據是否能夠正確加密。

Cookie保存信息:驗證Cookie是否能正常保存和讀取所需的信息。

篡改Cookie:測試修改Cookie內容后,系統是否能正確識別和處理。

Cookie的兼容性:在不同類型或不同版本的瀏覽器中,測試Cookie文件的兼容性。

刷新操作對Cookie的影響:測試刷新操作后是否重新生成或修改Cookie文件。

檢查Cookie內容存儲是否完整正確:對加密的Cookie內容進行解密,檢查是否按設計要求存儲了相關的所有信息。

檢查Cookie的更新和添加:多次進行相同操作或設置,檢查是否更新或添加了新的Cookie文件。

統計功能驗證:如果使用Cookie來統計次數或記錄狀態,驗證統計功能是否正常工作。

10. 在接口測試中,為什么需要對HTTPS的工作原理有所了解?HTTPS在接口測試中有哪些重要作用和優勢?

數據安全性:HTTPS使用SSL/TLS協議對通信進行加密,確保數據在傳輸過程中不被第三方獲取、篡改或竊聽。它通過使用對稱加密、非對稱加密和數字證書等技術,提供了更高級別的數據保護,保證了敏感信息的機密性和完整性。

身份驗證:HTTPS可以對服務器進行身份驗證,確保與預期的服務器建立連接。在接口測試中,這意味著可以驗證接口的終端點是否為預期的合法服務器,避免了中間人攻擊和偽造服務器的風險。

防止數據篡改:HTTPS使用消息摘要算法(如SHA)和數字簽名,可以確保數據在傳輸過程中不被篡改。接口測試中,這保證了請求和響應數據的完整性,確保數據的一致性和準確性。

合規性和安全標準:使用HTTPS協議符合許多行業和安全標準的要求,如PCI DSS(支付卡行業數據安全標準)。在接口測試中,如果涉及到處理敏感數據或符合特定標準的場景,使用HTTPS可以確保符合合規性要求,并提供額外的安全層級。

排名提升和用戶信任:谷歌等搜索引擎更傾向于將使用HTTPS加密的網站排名較高,因為它們提供更安全的用戶體驗。在接口測試中,如果接口涉及到公共網站或需要提升用戶信任的場景,使用HTTPS可以提升網站的搜索排名并增加用戶的信任度。

抗攻擊能力增強:相比HTTP協議,HTTPS大大增加了中間人攻擊的成本。HTTPS提供了更強的防護能力,可以抵御黑客攻擊、拒絕服務攻擊和服務器劫持等威脅。在接口測試中,這意味著可以更好地保護接口免受安全漏洞和攻擊的影響。

兼容性和標準化:HTTPS是廣泛使用的標準協議,與各種系統和平臺兼容性良好。在接口測試中,使用HTTPS可以確保接口與其他系統的兼容性,并保證與行業標準的一致性。

最后:?為了回饋鐵桿粉絲們,我給大家整理了完整的軟件測試視頻學習教程,朋友們 如果需要可以自行免費領取?【保證100%免費】
在這里插 入圖片描述

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。

在這里插入圖片描述
在這里插入圖片描述

【軟件測試面試突擊班】2024吃透軟件測試面試最全八股文攻略教程,一周學完讓你面試通過率提高90%!(自動化測試)

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/news/719552.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719552.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719552.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 模擬OJ

目錄 1、1576. 替換所有的問號 2、 495. 提莫攻擊 3、6. Z 字形變換 4、38. 外觀數列 5、 1419. 數青蛙 1、1576. 替換所有的問號 思路:分情況討論 ?zs:左邊沒有元素,則僅需保證替換元素與右側不相等;z?s:左右都…

Java - List排序

List排序方法 主要有三種方法(按推薦度排序): JDK8的streamComparator#compare()Comparable#compareTo() 法1:list的sort() package com.example.a;import java.util.ArrayList; import java.util.Comparator; import java.util…

pyqt5 QWebEngineView 重寫mousepressevent捕獲鼠標點擊事件,無響應

QWebEngineView 加載網頁后,重寫mousepressevent捕獲鼠標點擊事件,無響應原因是 QWebEngineView在加載界面后,被本身的child接收了該事件, 解決辦法:同過重載event,截取QEvent::ChildAdded事件 from PyQ…

islide2024免費版PPT插件下載

一、功能概覽 iSlide PPT插件是一款專為PowerPoint用戶設計的輔助工具,其功能全面且實用,主要包括但不限于以下幾點: 設計元素庫:提供豐富的設計元素,如主題、布局、圖標、配色等,用戶可以直接拖拽使用&a…

動態規劃|【雙指針】|611.有效三角形個數

題目 611. 有效三角形的個數 給定一個包含非負整數的數組 nums ,返回其中可以組成三角形三條邊的三元組個數。 示例 1: 輸入: nums [2,2,3,4] 輸出: 3 解釋:有效的組合是: 2,3,4 (使用第一個 2) 2,3,4 (使用第二個 2) 2,2,3示例 2: 輸入: nums [4,2,3,4] 輸出…

【Python】OpenCV-使用ResNet50進行圖像分類

使用ResNet50進行圖像分類 如何使用ResNet50模型對圖像進行分類。 import os import cv2 import numpy as np from tensorflow.keras.applications.resnet50 import ResNet50, preprocess_input, decode_predictions from tensorflow.keras.preprocessing import image# 設置…

03-03學習筆記 內存管理初始化

當指針位數為32位時,virtual space 的大小就是 2^32,只有當指針位數是64位時,virtual space 才會增大。 通常virtual space 的劃分方式為 3:1, 依靠 PAGE_OFFSET 常數控制,影響著內核空間和用戶空間的上下文切換效率。 像路由器這…

【Python】進階學習:pandas--read_excel()函數的基本使用

【Python】進階學習:pandas–read_excel()函數的基本使用 🌈 個人主頁:高斯小哥 🔥 高質量專欄:Matplotlib之旅:零基礎精通數據可視化、Python基礎【高質量合集】、PyTorch零基礎入門教程👈 希…

【好書推薦-第七期】《RTC程序設計:實時音視頻權威指南》(音視頻開發必看!)

😎 作者介紹:我是程序員洲洲,一個熱愛寫作的非著名程序員。CSDN全棧優質領域創作者、華為云博客社區云享專家、阿里云博客社區專家博主、前后端開發、人工智能研究生。公粽號:洲與AI。 🎈 本文專欄:本文收錄…

AWTK-MVVM 配置文件模型

配置文件模型 AWTK-MVVM 內置了一些配置文件模型,用于讀寫各種配置文件,比如,JSON/XML/INI/CSV/UBJSON 等。 文件名中可以引用下面的變量。 ${app_dir} 應用程序目錄${user_dir} 用戶目錄${temp_dir} 臨時目錄 json(url${app_dir}/demos/de…

nodejs,JSDOM 補 window環境

window[atob] 是一個在瀏覽器中使用的 JavaScript 函數,用于將 base64 編碼的字符串解碼為原始數據。具體來說,atob 函數會將 base64 字符串解碼為一個 DOMString,其中包含解碼后的二進制數據。這在處理從服務器獲取的 base64 編碼的數據或在…

多平臺拼音輸入法軟件的開發

拼音輸入法從上個世紀發展到現在, 已經發展了幾十年了, 技術上已經非常成熟了. 換句話說, 就是實際上沒多少技術含量, 隨便來個人就能手搓一個. 本文介紹一個簡單的多平臺拼音輸入法軟件的設計和實現, 支持 GNU/Linux (ibus) 平臺 (PC) 和 Android 平臺 (手機). 目錄 1 中文輸…

E: 無法修正錯誤,因為您要求某些軟件包保持現狀,就是它們破壞了軟件包間的依賴關系。

比如,安裝ros的時候,用 執行: sudo apt install ros-melodic-desktop-full 出現如下問題: 如果你根據提示,安裝ros-melodic-desktop,他有會說類似“E: 無法修正錯誤,因為您要求某些軟件包保持…

Vue.js入門指南:簡介、環境配置與Yarn創建項目

一、Vue.js簡介 Vue.js,一個流行的JavaScript框架,以其直觀、靈活和高效的特點,在前端開發者中贏得了廣泛的贊譽。Vue.js的核心庫專注于視圖層,使得開發者能夠構建出響應式的數據綁定和組合的視圖組件。Vue.js的目標是通過盡可能簡…

BUUCTF---[極客大挑戰 2019]Http1

1.題目描述,在地址框輸入下面的網址 2.來到頁面,ctrlu查看源碼,仔細觀察會看到一個.php的跳轉頁面 3.點進去頁面提示It doesnt come from https://Sycsecret.buuoj.cn 4.頁面提示它不是來源于這個網址,我們需要用bp抓包對數據進行…

多波束水深數據粗差剔除方法總結(不斷更新)

目錄 一、粗差產生原因 二、粗差剔除方法 三、自動濾波方法分類 3.1 趨勢面濾波 3.1.1 現有方法 3.1.2 缺點

Web開發介紹,制作小網站流程和需要的技術【詳解】

1.什么是web開發 Web:全球廣域網,也稱為萬維網(www World Wide Web),能夠通過瀏覽器訪問的網站。 所以Web開發說白了,就是開發網站的,例如網站:淘寶,京東等等 2. 網站的工作流程 1.首先我們需…

sparse transformer 常見稀疏注意力

參考: https://zhuanlan.zhihu.com/p/259591644 主要就是降低transformer自注意力模塊的復雜度 復雜度主要就是 Q K^T影響的,稀疏注意力就是在Q點乘K的轉置這模塊做文章 下列式一些sparse transformer稀疏注意力方法 a、transformer原始的 &#xff0…

b站小土堆pytorch學習記錄—— P17 土堆說卷積操作

文章目錄 一、前置知識什么是卷積操作 二、代碼 一、前置知識 什么是卷積操作 推薦幾個高贊博客: 卷積最容易理解的解釋 卷積神經網絡(CNN)詳細介紹及其原理詳解 還有pytorch官網的動態圖: pytorch卷積 二、代碼 import t…

MyBatis源碼分析之基礎支持層反射

(/≧▽≦)/~┴┴ 嗨~我叫小奧 ??? 👀👀👀 個人博客:小奧的博客 👍👍👍:個人CSDN ??????:傳送門 🍹 本人24應屆生一枚,技術和水平有限&am…