背景
最近基于兴趣学学习了下 HTTPS 相关的知识,在此记录下学习心得。
在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS 了。每当访问一个站点,浏览器的地址栏中出现绿色图标时,意味着该站点支持 HTTPS 信息传输方式。我们知道 HTTPS 是我们常见的 HTTP 协议与某个加密协议的混合体,也就是 HTTP+S。这个 S 可以是 TLS(安全传输层协议)、也可以是 SSL(安全套接层),不过我更认可另一个抽象概括的说法,HTTP+Security。不过要谈论 HTTPS 为何安全,还得从 HTTP 为何不安全说起。
假设你现在正坐在教室里上课,现在你非常想和走道旁的迷人的 TA 说一些话,一般这个时候你会用“传纸条”的方式来交流。而这个方式和 TCP/IP 协议基本的工作模式十分相像:
- 通过小动作引起对方注意;
- 对方以多种可能的方式(注视、肢体语言等)回应于你;
- 你确认对方感知到你后,将纸条传给对方;
- 对方阅读纸条;
- 对方给予你阅读后的反应;
怎么样,这个流程是不是很熟悉?
如果你要传递纸条的 TA 距离你很远怎么办?HTTP 协议就是指你在纸条上写明你要传给的 TA 是谁,或者 TA 的座位在哪,接着只需要途径的同学拿到纸条后根据纸条上的指示依次将纸条传过去就 OK 了。
这个时候问题来了:途径的同学完全可以观看并知道你在纸条上写了什么。