HTTP和HTTPS的区别,HTTP协议转HTTPS协议测试需要注意内容
简单快捷:HTTP 相对于 HTTPS 更简单和快速。在开发过程中,可能频繁地修改代码并测试,使用 HTTP 可以减少一些开发中的额外步骤和复杂性。
不涉及敏感信息:在本地开发环境中,通常不涉及真实用户数据或敏感信息的传输,因此使用 HTTP 可以满足基本的开发需求。
证书配置:HTTPS 需要有效的 SSL/TLS 证书来加密通信。在本地开发环境中,配置和管理证书可能比较繁琐,特别是对于新手来说可能会有一定的学习曲线。
性能和调试:HTTPS 会对数据进行加密处理,这会增加一些开销,可能会影响本地开发环境的性能。此外,使用 HTTP 可以更方便地进行调试,因为不会受到 HTTPS 加密的影响。
基于这道题,我们需要先认识http和https的区别;了解https的通信过程;再回答测试需要关注的点。
一、http和https的区别
Http和Https都是位于OSI(计算机或通信系统间互联标准体系)的第七层:应用层,位于该层的还有SMTP和FTP协议。
Http协议运行在TCP之上。所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。
Https是Http运行在SSL/TLS(安全套接字层/传输层安全)之上,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方的证书进行了非对称加密。此外客户端可以验证服务器端的身份,如果配置了客户端验证,服务器方也可以验证客户端的身份。
一句话:Http+加密+认证+完整性保护=Https
二、https的通信过程
上图整个过程就是Https过程,可以这样理解,去除prepare部分、去除步骤2、3、4部分就是Http过程,只是Http中客户端和服务器通信时没有加密(步骤5、6去掉加密)。
三、测试需要关注的点
1.因为Https过程比Http过程复杂,因此一个Https请求/响应的时间会比Http长。举个栗子,相同网络情况下,通过Charles抓包,Https的Duration为968ms,Http的Duration为729ms,两者的相差时间很小,几乎无感;
2.Https存在CA证书,需要关注证书的有效时限。但是这个一般也是很少关注的点。
3.需要测试下相关联的业务系统在跳转的时候会不会有问题,比如http调用https的时候就可能会出问题,这个在业务部分切换到https上的时候,特别需要注意。