上回说到了 HTTP 与 TCP/IP、常见的 HTTP 方法、HTTP 状态码与HTTP 报文首部字段。这回主要讲讲 HTTP 与 HTTPS。算法
在安全方面,HTTP 存在如下几种缺点。安全
其实上面三种问题能够总结为通讯未加密,而 HTTPS 的出现则很好的解决了以上问题。服务器
与 HTTP 协议的明文传输相比,HTTPS 是将这些内容加密,确保信息传输安全。最后一个字母 S 指的是 SSL(Secure Socket Layer,安全套接层)/TLS(Transport Layer Security,安全传输层协议) 协议,它位于 HTTP 协议与 TCP/IP 协议之间。网络
HTTPS 使用了非对称加密。
私钥只存在于服务器上,服务器下发的内容不可能被伪造,由于别人都没有私钥,因此没法加密。 全部人都有公钥,但私钥只有服务器有,因此服务器才能看到被加密的内容。学习
针对上面的三个缺点,说一下 HTTPS 是如何应对的。网站
哈希值
一块儿发送过去,接收方会把解密后的数据与哈希值进行对比,避免被篡改。什么是哈希值?阿里云
哈希值是经过哈希算法压缩后获得的数据值,理论上来讲无论多复杂的数据均可以经过哈希算法求得哈希值。好比咱们下载的 Android SDK 就会提供一个 SHA-256 校验和,这个就属于哈希算法的一种。加密
如今有不少网站都已经普遍使用 HTTPS,好比 www.baidu.com
。 code
并且如今 iOS 提交至 App Store 的应用都必须使用 HTTPS 进行网络请求。因此了解如何使用 HTTPS 仍是颇有必要的。cdn
申请方式很简单了,拿阿里云举例,打开官网选择安全 -> CA 证书服务,填写信息购买便可。
在上一会咱们讲过 HTTP 有三次握手,在加入 HTTPS 以后就变成了四次握手,因此效率会下降一些,不过仍是能接受的。
因为 HTTPS 会下降必定的速度,还有一些额外的成本。因此对于一些不太须要加密的信息,仍是有不少企业倾向于选择 HTTP。
这个第二篇和第一篇的间隔有点长,本身最近仍是有点懒,各位多多包涵。
写博客这种东西,感受对本身仍是有很多帮助的,虽然本身水平不高,可是原本一些比较模糊的知识点,通过查资料、写博客慢慢也有一些进步了。因此呢,这里仍是推荐你们尝试一下经过写博客进行知识总结和学习,有的时候只是看仍是容易忘的😂。