网络之HTTPS总结

HTTPS

描述HTTPS的过程

  • 通讯内容要加密:公私钥
  • 高效率加密通讯:对称加密
  • 伪造身份伪造:数字证书

    • 服务器身份和服务器公钥
    • 经过HASH算法得到信息摘要

      • 原因:避免证书被篡改。例如把公钥改为自己的,对方就会拿到错误的公钥
      • 提升效率,身份证明包括的信息较多,HASH减少信息量从而减少计算量
    • 用CA的私钥加密信息摘要得到数字签名

    • 原始信息+数字签名=数字证书
    • 客户端将原始信息HASH算法的结果和数字签名用CA公钥解密结果比对

用了什么加密算法

  • 对称加密算法
  • 非对称加密算法

    • RSA

      • 互质的p,q相乘得到n
      • 取n的欧拉函数互质的正整数e
      • 加密:m^e=c(mode n)

        • 其中m为加密前的信息,c为加密后的信息
      • 解密:c^d=m(mod n)

        • 推导

          • 加密项移项得m^e=c+kn
          • 代入解密式:
  • 散列算法(用来验证数据的完整性)

  • 数字证书

为什么先用公私钥,再用公钥

  • 效率

缺点

  • 建立连接慢(需要交换证书)
  • 加密解密过程消耗资源
  • SSL证书的信用体系不绝对安全。若可控制根证书,仍有可能发起中间人攻击

HTTP/2

  • 了解吗
  • 有什么新特性

    • 多路复用

      • 1.1中客户端在同一时间对同一域名的请求有限制
    • 首部压缩

      • HPCK算法
    • 服务端推送

    • 二进制分帧

WebSocket的理解

  • SocketIO的解决点

    • 服务端推送技术
  • SocketIO的应用场景

  • 特点

    • 建立在TCP上
    • 与HTTP协议有良好的兼容性
    • 数据格式你叫轻量,通信高效
    • 可以发送文本,也可以发送二进制数据
    • 没有同源限制
    • 协议标识符为ws,如果加密则为wss

从输入url到渲染页面的过程

  • Js代码的运行时机
  • Css代码什么时候执行、渲染
  • Js代码对页面渲染的阻塞

    • async、defer
    • 渲染线程的阻塞

      • setTimeout
      • requestAnimationFrame
本文结束啦感谢您的阅读
undefined