
HTTPS=数据加密+网站认证+完整性验证+HTTP
HTTPS 就是在 HTTP 传输协议的基础上对网站进行认证,给予它独一无二的身份证明,再对网站数据进行加密,并对传输的数据进行完整性验证。
HTTPS 作为一种加密手段不仅加密了数据,还给了网站一张身份证。
如果整个网站都是走HTTPS的,那服务器返回的内容都是被加密的,你能看到网页内容是因为浏览器已经解密了。
大概过程,实际过程更复杂:
- 你访问HTTPS网站,网站把公钥给你。
- 你验证公钥,然后生成一个串随机AES_128密码(假如是用AES加密),并把这个密码用刚才那个公钥加密,发给服务端。
- 服务端用公钥对应的私钥解密你的发送的数据,得到你随机生成的AES_128密码,并把网页内容全部用AES_128加密器起来,发会给你。
- 浏览器用刚刚的AES_128密码解密 服务器返回的数据,得到你可读的内容。
- 之后你发出的请求数据,也是用AES_128密码来加密。
- 浏览器返回的网站内容都是用对称加密(比如AES128)加密起来的,而这个密码又是你临时生成了,所以第三方无法知道你访问的内容是什么。