http和https详解

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。http和https详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

区别

HTTP和HTTPS是两种不同的应用层协议,主要区别如下:

  1. 安全性:HTTP传输的数据都是明文,容易被窃听、篡改,而HTTPS传输的数据是经过加密的,能够保证传输的安全性。
  2. 数据传输方式:HTTP使用明文传输,而HTTPS使用加密传输。
  3. 默认端口号:HTTP的默认端口号是80,HTTPS的默认端口号是443。
  4. 证书认证:HTTPS需要使用数字证书,数字证书需要由认证机构(CA)颁发,用来证明网站的真实性和合法性,防止冒充和中间人攻击等安全问题。而HTTP则没有证书认证。
  5. 连接方式:HTTP是无状态连接,每个请求都是独立的,服务器不会记录客户端的状态。而HTTPS是有状态连接,因为需要在客户端和服务器之间建立加密通道,所以需要在客户端和服务器之间建立一种持久的连接。
  6. 性能:HTTPS由于需要进行加密处理,因此相比HTTP有一定的性能损失,但随着硬件和算法的不断升级,这种性能差距正在逐渐缩小。

总之,HTTPS相比HTTP更加安全可靠,能够有效地保护用户的隐私和数据安全。

传输过程

HTTP的传输过程:

  • 客户端向服务器发送请求。
  • 服务器接收到请求,根据请求的内容做出相应的响应。
  • 服务器将响应的内容返回给客户端。

HTTPS的传输过程:

  • 客户端向服务器发送HTTPS请求。
  • 服务器向客户端返回SSL证书。
  • 客户端验证SSL证书是否合法,如果合法,客户端生成随机数作为“对称密钥”,使用服务器公钥加密后发送给服务器。
  • 服务器使用私钥解密客户端发送的“对称密钥”,并将解密后的“对称密钥”发送给客户端。
  • 客户端和服务器使用“对称密钥”进行数据传输。

HTTPS的传输过程比HTTP多了一步SSL证书验证和对称密钥的交换过程,这样可以保证数据传输的安全性。

判断SSL证书的有效性:
客户端首先检查 SSL 证书的颁发机构是否可信(比如是否是受信任的证书颁发机构),如果不可信,则会给出警告;
如果证书颁发机构可信,则客户端会检查证书中的公钥是否和服务器返回的公钥一致,如果不一致,则会给出警告;
服务器端返回的数字证书本身是加密的,使用了非对称加密算法。数字证书是由数字证书颁发机构(CA,Certificate Authority)颁发的,包含了服务器公钥以及相关信息,同时数字证书颁发机构会对服务器的身份进行验证并签名。当客户端与服务器进行SSL/TLS握手过程时,服务器会将数字证书发送给客户端,客户端使用数字证书颁发机构的公钥进行解密,获取到服务器的公钥以及其他相关信息。这个过程中数字证书本身是加密的,而解密过程中使用的是数字证书颁发机构的公钥,因此可以保证数字证书的安全性和完整性。之后客户端和服务器使用服务器公钥进行加密通信。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/199223.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!