https算法
对称算法 AES 和 ChaCha20
非对称算法 RSA 和 ECC
摘要算法:MD5和SHA1(已过时)目前 TLS 推荐使用的是 SHA-1 的后继者:SHA-2。SHA-2 实际上是一系列摘要算法的统称 总共有 6 种,常用的有 SHA224、SHA256、SHA384
http2.0 grpc
1.传输的数据量大幅减小
以二进制方式传输(相对于http1.0,http1.1 ascii字符串传输)
标头压缩(相对于http1中header的占用空间,特别当有大量cookie时, 可能有kb,几十kb级别数据量)
2.多路复用及相关功能
消息优先级(可以设置消息优先级,比如一个页面中,可以先推送css样式,然后推送图片等资源, 一个tcp连接中可以并行推送多个消息)
3.服务器消息推送
并行推送(服务端可以像客户端并推送且可以并行的推送)
核心概念
连接connection:一个tcp连接可以包含一个或多个stream流(比如一个tcp连接对应多个页面的数据流)
数据流stream: 一个双向通信数据流,包含多条message
消息message: 对应http1中的请求或者响应,包含一条或者多条Frame
数据帧frame:最小单位,以二进制压缩格式存放http1中内容(https2.0中最小的一个概念)
http2.0 binaryFraming 二级制数据帧 必须是构建在TLS加密协议之上
多路复用: 指一个tcp连接中,有多个并行的数据流stream,每个stream中又有并行的消息message,
减少三次握手,四次挥手的过程
一个新建的tcp连接会有慢启动到稳定窗口的过程, 而多路复用可以传输多个数据stream,tcp拥塞窗口一直保持最大功耗的情况,效率最高状态
数据帧frame传输时无序,接收时组装,一个或者多个message的数据帧可能还没传输完,就开始了其他消息message的数据帧
安装http2.0详情查看 文章nginx
传统浏览器可能不支持http2.0,需要下载测时nginx http2协议的客户端工具
https://github.com/nghttp2/mghttp2/release 下载安装
centos下使用yum安装:yum install nghttp2