软件测试面试题:http和https的区别
HTTP(超文本传输协议)与 HTTPS(超文本传输安全协议)是软件测试面试高频考点,核心差异围绕“安全性”展开,结合测试场景可快速掌握:
核心本质上,HTTP 是明文传输的应用层协议,无任何加密机制,数据传输如同“寄明信片”,中间节点可直接窃取、篡改、伪造数据,适用于静态网页、公开资讯等非敏感场景,默认使用 80 端口,协议头简单,无需证书。
HTTPS 是 HTTP 加 TLS/SSL 加密的安全版本,相当于“寄加密快递”,通过“非对称加密+对称加密”实现传输加密,CA 证书完成身份验证,校验和保障数据完整性,彻底解决窃听、篡改问题,适用于登录、支付、接口调用等敏感场景,默认使用 443 端口,协议头含 TLS 相关字段。
测试场景中差异显著:HTTP 接口抓包可直接查看敏感字段,工具无需额外配置;HTTPS 抓包需信任证书才能解密,测试环境自签证书需在 Postman、HttpRunner 中关闭校验(如 verify: false)。性能上,HTTP 无加密开销,压测 TPS 更高;HTTPS 因 TLS 握手、加密解密,速度略慢且消耗服务器 CPU,需关注负载优化。
状态码方面,HTTPS 有专属状态码(如 495 证书错误、496 证书未生效),HTTP 无特殊状态码。
面试答题可简化为:核心差异是“是否基于 TLS/SSL 加密”,优先讲安全性,再补充端口、证书、速度、适用场景,结合抓包、工具配置等测试实操,体现专业性,总结为“非敏感用 HTTP,敏感数据必用 HTTPS”即可。
查看16道真题和解析