CodingWithAlice

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

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 地...

16 浏览器和服务器缓存

16 浏览器和服务器缓存 总结 1、缓存是优化系统性能的重要手段,HTTP 传输的每一个环节中都可以有缓存 2、服务器 使用 Cache-Control 设置缓存策略,常用的是 max-age,表示资源的有效时间 3、浏览器收到数据就会存入缓存,如果没过期就可以直接使用,过期就要去服务器验证是否仍然可用 4、浏览器 验证资源是否失效需...