http和https区别是面试经常被问的话题,下面给大家详解4大http和https区别@mikechen
安全的区别
HTTP是一种不安全的协议,数据在传输过程中是明文的,容易受到窃听和篡改的威胁。
由此看来,HTTP协议的站点不适合输入和传输敏感数据,例如:我们的银行卡号、账号名称和密码等敏感信息。
而HTTPS是超文本传输安全协议,比HTTP加了一层安全通信,使用SSL/TLS来加密数据包。
HTTPS使数据在传输过程中被加密,从而提供了更高的安全性,这使得恶意用户或黑客难以窃听或篡改数据。
认证的区别
使用 HTTPS 协议需要到 CA,也就是Certificate Authority,数字证书认证机构去申请证书。
部署SSL证书的网站有明显的安全标志:以https开头,且显示加密锁。
如下图所示:
⾸先 CA 会把持有者的公钥、⽤途、颁发者、有效时间等信息打成⼀个包,然后对这些信息进⾏ Hash 计算, 得到⼀个 Hash 值。
然后 CA 会使⽤⾃⼰的私钥将该 Hash 值加密,⽣成 Certificate Signature,也就是 CA 对证书做了签名。
最后将 Certificate Signature 添加在⽂件证书上,形成数字证书。
HTTPS使用数字证书对服务器进行身份验证,确保客户端连接到预期的服务器,提供了额外的安全性
而HTTP不提供服务器的身份验证机制,因此无法确保您正在与预期的服务器通信,这使得HTTP容易受到中间人攻击的威胁。
加密的区别
HTTP不使用加密,数据以明文形式传输。
HTTPS使用TLS/SSL加密通信,数据在传输过程中被加密,只有服务器和客户端能够解密和理解数据。
端口的区别
HTTP:HTTP通常使用端口80进行通信。
HTTPS:HTTPS通常使用端口443进行通信。
性能的区别
HTTP由于不涉及加密和解密过程,HTTP的性能通常比HTTPS更高。
HTTPS由于加密和解密需要额外的计算资源,HTTPS的性能通常比HTTP稍低。
总之,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。
mikechen
mikechen睿哥,10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!

后台回复【架构】即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》