HTTPS 整个知识体系非常庞大,我认识到的学习 HTTPS 的最佳步骤是:
- 基础部分:TCP/IP,可以参阅《TCP 传输原理》
- 安全部分:分别是学习密码学、OpenSSL命令行、TLS/SSL,可以参阅《密码学》和《SSL/TLS 协议》
- 应用部分:HTTP/2,可以参阅《HTTP/2 协议》
HTTPS 整个知识体系非常庞大,我认识到的学习 HTTPS 的最佳步骤是:
HTTP/1.1 与 HTTP/2 相隔了大概20年,但是从目前的研究和实验情况来看,我们不可能等上几十年才升级到下一个版本,h2 在逐渐的普及。 h2 和 h1 的最大差别在于在 http 层上增加了分帧层;把原来的 http 层的数据拆分成多种帧类型,并在每种类型前加上协议性的帧首部。基于二进制分帧的优点:
学习 HTTP/2 最好的文档是 RFC 7540。
本篇主要内容是 Go HTTP 原理和 RPC 相关知识。 在进行原理讲解之前我觉得有必要熟悉一下 TCP 传输原理和 C Socket 编程,因为 Go 是在 C 的基础上进行封装的,这样对哪些属于 C,哪些属于 Go 有一个清晰的了解,也更能避繁就简。