CodingWithAlice

我的一方小天地,如果对你有帮助,那真的太好了

26 HTTP/2 内核

26 HTTP/2 内核 一篇还不错的博文:深入理解http2.0协议,看这篇就够了! 总结 1、HTTP/2 必须先发送一个 连接前言 字符串,然后才能建立正式连接 2、HTTP/2 废除了起始行,统一使用头字段,在两端维护字段 Key-Value 的索引表,使用HPACK算法压缩头部 3、HTTP/2 把报文切分为多种类型的 二进制帧,报头里最...

25 HTTP/2 特性

25 HTTP/2 特性 总结 HTTP 协议 取消了小版本号,所以 HTTP/2 的正式名字不是 2.0 『在 语义 上兼容 HTTP/1.1,大力改造语法层』 -> 改进性能、针对队头阻塞: 1、使用 HPACK 字典表算法 压缩头部信息 2、不再使用纯文本报文,全面采用 二进制帧 3、使用『 **虚拟的流(二进制...

24 HTTPS 连接慢 - 优化

24 HTTPS 连接慢 - 优化 总结 1、可以有多种硬件和软件手段减少网络耗时和计算耗时,让 HTTPS 变得和 HTTP 一样快,最可行的是软件优化 2、应当尽量使用 ECDHE 椭圆曲线密码套件,节约带宽和计算量,还能实现 False Start 3、服务器端应当开启OCSP Stapling功能,避免客户端访问 CA 去验证证书 ...

23 TLS 1.3 新特性

23 TLS 1.3 新特性 总结 1、为了兼容 1.1、1.2 等老协议,TLS1.3 会 伪装 成 TLS1.2,新特性在 扩展 里实现 2、1.1、1.2 在实践中发现了很多安全隐患,所以 TLS1.3 大幅度 删减了加密算法,只保留了 ECDHE、AES、ChaCha20、SHA-2 等极少数算法,强化了安全; 3、TLS1.3 也 简...

22 TLS握手

22 TLS握手 写的比较好的博文:深入理解HTTPS原理、过程与实践 总结 1、HTTPS 协议会 先与服务器执行 TCP 握手,然后执行 TLS 握手,才能建立安全连接 2、握手的目标是安全地交换 对称密钥,需要三个随机数,第三个随机数 Pre-Master 必须加密传输,绝对不能让黑客破解 3、Hello 消息交换随机数,Key Exc...

21 数字签名与证书

21 数字签名与证书 总结 1、摘要算法 用来实现完整性,能够为数据生成独一无二的指纹,常用的算法是 SHA-2 2、数字签名 是 私钥对摘要的加密,可以由公钥解密后验证,实现身份认证和不可否认 3、公钥的分发需要使用 数字证书,必须由 CA 的信任链来验证,否则就是不可信的 4、作为信任链的源头 CA 有时也会不可信,解决办法有 C...

20 对称加密 + 非对称加密

20 对称加密 + 非对称加密 总结 1、加密算法的核心思想是 把一个小秘密(密钥)转化为一个大秘密(密文消息),守住了小秘密,也就守住了大秘密 2、对称加密只使用一个 密钥,运算速度快,密钥必须保密,无法做到安全的密钥交换,常用的有 AES 和 ChaCha20 3、非对称加密使用两个密钥:公钥和私钥,公钥可以任意分发而私钥保密,解决了密钥交...

19 HTTPS 中的 S

19 HTTPS 中的 S 总结 1、因为 HTTP 是明文传输,所以不安全,容易被黑客窃听或窜改 2、通信安全必须同时具备 机密性、完整性,身份认证和不可否认 这四个特性 3、HTTPS 的语法、语义仍然是 HTTP,但把 下层的协议由 TCP/IP 换成了 SSL/TLS 4、SSL/TLS 是信息安全领域中的权威标准...

18 缓存代理 - 浏览器和服务器缓存

18 缓存代理 - 浏览器和服务器缓存 缓存代理能够复用同系列下 16 浏览器和服务器缓存 中提到的缓存控制策略 总结 1、计算机领域里最常用的性能优化手段是 时空转换,也就是时间换空间或者空间换时间,HTTP 缓存属于后者; 2、缓存代理 是增加了缓存功能的代理服务,缓存源服务器的数据,分发给下游的客户端 3、Cache-Control 字...

17 HTTP 反向代理

17 HTTP 反向代理 总结 1、HTTP 代理就是客户端和服务器通信链路中的一个中间环节,为两端提供 代理服务 2、代理处于中间层,为 HTTP 处理增加了更多的灵活性,可以实现 负载均衡、安全防护、数据过滤 等功能 3、代理服务器需要使用字段 Via 标记自己的身份,多个代理会形成一个列表 4、如果想要知道客户端的真实 IP 地...