系列文章目录
01-1 JVM-线程与内存区域
一、HTTP与HTTPS的区别
- HTTP以明文方式发送内容,不提供任何方式的数据加密
- HTTPS由HTTP进行通信,但利用SSL/TLS来加密数据包。
1.HTTPS工作流程
- TCP三次同步握手
- 客户端验证服务器数字证书
- DH算法协商对称加密算法的密钥、hash算法的密钥
- SSL安全加密隧道协商完成
- 网页以加密的方式传输,用协商的对称加密算法和密钥加密,保证数据机密性;用协商的hash算法进行数据完整性保护,保证数据不被篡改。
2.HTTP与HTTPS区别
- 安全性区别-HTTP明文传输,HTTPS加密传输
- HTTPS协议需要CA证书
- HTTP响应速度更快-HTTP仅要交换TCP握手的三个包,而HTTPS还要加上SSL需要的9个包,共12个包
- 连接方式不同,端口不一致,HTTP使用80端口,HTTPS使用443端口
- HTTPS更消耗服务器资源
二、HTTP1与HTTP2的区别
1.HTTP1的缺陷
- 高延迟-页面加载速度降低,原因是存在队头阻塞。
- 无状态-带来巨大HTTP头部。
- 明文传输-不安全
- 不支持服务器推送消息
2.HTTP2新特性
- 二进制传输-将请求和响应数据分割成更小的帧,并且采用二进制编码。
- Header压缩-在客户端和服务器两端建立“字典”,用索引号表示重复的字符串,并且结合哈夫曼编码。
- 多路复用-解决了浏览器限制同一个域名下的请求数量的问题。
- Server Push-服务器不再完全被动地响应请求,也可以新建“流”主动向客户端发送消息。
- 提高安全性-不强制加密。