https学习

2020-04-21  本文已影响0人  砂壶

HTTP(Hypertext Transfer Protocol)
超文本传输协议,是一种用于分布式、协作式和超媒体信息系统的应用层协议。

缺陷:明文传输,没有经过任何加密。而这些明文数据会经过WiFi、路由器、运营商、机房等多个物理设备节点,如果在这中间任意一个节点被监听,传输的内容就会完全暴露,这一攻击手法叫做MITM(Man In The Middle)中间人攻击。

HTTPS(HyperText Transfer Protocol Secure)超文本传输安全协议,数据通信仍然是HTTP,但利用SSL/TLS加密数据包。SSL:(Secure Sockets Layer)安全套接层,TLS(Transport Layer Security)传输层安全协议。

流程:

  1. 用户在浏览器端发起HTTPS请求,默认使用服务端的443商品连接
  2. HTTPS需要使用一套CA数字证书,公钥是公开的,而私钥是保留在服务器端不公开
  3. 服务端收到请求会将配置好的包含公钥的证书给客户端
  4. 客户端收到证书会校验其合法性。如果通过生成一个用户对称加密的随机Key,用证书的公钥加密传给服务端
  5. 服务端收到对称加密的随机Key,用配对的私钥解密。
  6. 服务端和客户端都使用该随机Key进行对称加解密。

HTTPS 解决的是HTTP明文传输时信息被篡改和监听的问题。

学习资料:
https://juejin.im/post/5e95ed89518825739208ec79#heading-4

上一篇下一篇

猜你喜欢

热点阅读