HTTPS

HTTPS和HTTP

HTTP 属于应用层协议,HTTPS 并不是一个新的协议,它只是比 HTTP 协议多了一层(TSL/SSL)来保证数据传输安全。TSL/SSL也属于协议,它的主要作用是保证数据传输安全。大多数使用的是 OpenSSL 来实现,比如 Node 中的 TSL 就是基于 OpenSSL 实现的

封装图

Http特点:
• 被动性
    何为被动性呢,其实就是,服务端不能主动联系客户端,只能有客户端发起。
• 无状态协议
    你一挂电话,他就把你的东西全忘光了,把你的东西全丢掉了。

Http和Https有什么区别

  1. http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议2. http和https使用的是完全不同的连接方式,默认端口也不一样,前者是80,后者是443
  2. https协议需要到ca申请证书,一般需要收费,比http协议安全,但是耗时多,缓存不是很好

HTTPS请求过程

1. 用户通过浏览器请求https,服务器收到后选择浏览器支持的加密和hash算法,返回“数字证书”(机构,网址,公钥,签名)(非对称)
2. 浏览器对证书内容校验,有问题则警告,没问题则生成随机数x,使用x对网页内容进行加密,返回给浏览器(此时用x对称加密)
3. 服务器用私钥解密(非对称),得到x,用x加密信息并返回给浏览器(对称)
流程图

你可能感兴趣的:(HTTPS)