为什么选择本书
首先回答为什么要掌握HTTPS,确切地说,是回答我们为什么要掌握TLS/SSL。
互联网安全是非常重要的一个领域,而安全背后的核心就是密码学算法。TLS/SSL组合了大部分密码学算法,掌握了TLS/SSL,在一定程度上等同于理解了密码学。
TLS/SSL是TCP/IP协议族中独立的一个分层协议,重要性不言而喻,能够解决互联网中所有普适性的安全问题。只要提到安全,我们的第一反应就是思考能否引入TLS/SSL,是否能通过专门的密码学算法解决,掌握了密码学知识和TLS/SSL知识,在分析或者开发的时候会非常轻松。
总结一点,只要你是一个开发者,密码学和TLS/SSL必须掌握。
然后再回答为什么选择本书。
(1)本书是国内鲜有的HTTPS原创书籍,也是我的用心之作,就像工作一样,态度有的时候比技能更重要,在写本书的时候,我倾注了很多精力,借鉴了很多资料,对自己所有的观点都通过实例进行了论证,最后以自己的方式将知识分享给读者。
(2)我在Web领域做开发工作十余年,深刻明白Web技术体系的精髓,也明白什么知识才是核心和重要的,通过本书,我将自己的方法论分享给读者。本书不仅描述知识,更希望成为一扇大门,读者在阅读的时候应该思考我为什么如此讲解,希望读者完成阅读后能够自己进一步学习HTTPS知识。
(3)本书尽量描述一些真正实用的知识,比如:不会描述类似TLS v1.1版本的知识,因为它已经过时了;对于读者来说,可能更想对HTTPS网站进行调优,本书参考了很多最佳实践,提出了很多中肯的建议;很多人在部署HTTPS网站的时候,可能需要免费证书,为此我花费很长时间研究Le's Encrypt和Certbot,相信阅读本书后,证书申请不再是难题。
(4)本书的知识很前沿,很少有书籍和资料基于TLS RFC文档详细讲解,本书用很多篇幅从FRC的角度进行讲解,最后还采用Wireshark工具对协议进行了解剖,让读者直观地了解协议如何握手及交互。
(5)本书充分考虑读者的实际情况,掌握TLS/SSL协议必须了解基础的密码学知识,否则学习的时候会非常煎熬。针对这种情况,本书从应用的角度而非原理的角度讲解密码学知识,为了避免枯燥,使用OpenSSL命令行工具讲解算法应用,本书处处可见OpenSSL命令行工具,非常具有实践性。
(6)在写作的时候,我尽量使用最精确的语言,很注意书写的流畅性,避免干扰读者的理解,可以说我是本书的第一阅读者,每时每刻都从读者的角度去解读。
总之,本书充分考虑了读者的需求,将真正有用的知识分享给读者,这也是本书最重要的价值。如果读者想系统地学习HTTPS知识,那么阅读本书是最好的方式,而选择本书并不会存在语言鸿沟,本书是一扇通往HTTPS较好的大门。