前端知识总结(2):http;https工作原理

上一篇:TCP 三次握手 四次挥手

http和https的基本概念

  • http:超文本传输协议,是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。
  • https:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

http和https的区别

​ http传输的数据都是未加密的,也就是明文的,于是设置了SSL协议来对http协议传输的数据进行加密处理,简单来说https协议是由http和ssl协议构建的可进行加密传输和身份认证的网络协议,比http协议的安全性更高。

主要的区别如下:

  • 需要证书

  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议

  • 使用不同的链接方式,端口也不同,一般而言,http协议的端口为80,https的端口为443

  • http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

https协议的工作原理

https的ssl是在传输层与应用层之间对网络连接进行加密

  1. 客户端发起https请求:连接到server的443port,注意这个过程会发送一个密文族给server,密文族是浏览器所支持的加密算法清单。
  2. 服务端配置:采用https协议的服务器必须要有一套数字证书
  3. 传送证书:这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。
  4. 客户端解析证书:这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密。
  5. 传送加密信息:这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,然后客户端和服务端的通信就可以通过这个随机值来进行加密和解密了。
  6. 服务端解密信息:服务端用私钥解密后,得到了客户端传过来的随机值。然后通过该随机值对要传输的信息进行加密,也称对称加密
  7. 传输加密后的信息
  8. 客户端解密信息:客户端通过随机值对收到的信息进行解密

https协议的缺点

  • https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。

  • https缓存不如http高效,会增加数据开销。

  • SSL证书也需要钱,功能越强大的证书费用越高。

  • SSL证书需要绑定IP,不能再同一个ip上绑定多个域名,ipv4资源支持不了这种消耗。

发布了90 篇原创文章 · 获赞 18 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42317011/article/details/104347028