思考
- 思考前人是如何设计出HTTPS的?思考的底层逻辑是什么(用图的方式展示出来)?
- HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全。为了保证这些隐私数据能加密传输,HTTPS应运而生。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS (Secure Socket Layer,安全套接字层/Transport Layer Security,传输层安全协议。TLS其实就是SSL的升级版)来加密数据包提供对网站服务器的身份认证,保护交换数据的隐私与完整性默认工作在 TCP 协议443端口
- 工作流程问题:是仅一次TCP连接发送多个HTTP请求吗?HTTPS 100%安全吗?
- HTTP与HTTPS的区别1、HTTP 明文传输,数据都是未加密的,安全性较差,HTTPS(SSL+HTTP) 数据传输过程是加密的,安全性较好2、使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等3、HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包 ???4、http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 4435、HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,HTTPS 比 HTTP 要更耗费服务器资源。
- HTTPS优化1、HSTS重定向技术:将http自动转换为https,减少301重定向2、TLS握手优化:在TLS握手完成前客户端就提前向服务器发送数据3、会话标识符:服务器记录下与某客户端的会话ID,下次连接客户端发ID过来就可以直接用之前的私钥交流了4、OSCP Stapling:服务器将带有 CA 机构签名的 OCSP 响应在握手时发给客户端,省的客户端再去CA查询5、完全前向加密PFS:使用更牛逼复杂的秘钥算法
SSL加密过程