透视HTTP协议
罗剑锋(Chrono)
奇虎360技术专家,Nginx/OpenResty开源项目贡献者
立即订阅
6077 人已学习
课程目录
已完结 44 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词|To Be a HTTP Hero
免费
破冰篇 (7讲)
01 | 时势与英雄:HTTP的前世今生
02 | HTTP是什么?HTTP又不是什么?
03 | HTTP世界全览(上):与HTTP相关的各种概念
04 | HTTP世界全览(下):与HTTP相关的各种协议
05 | 常说的“四层”和“七层”到底是什么?“五层”“六层”哪去了?
06 | 域名里有哪些门道?
07 | 自己动手,搭建HTTP实验环境
基础篇 (7讲)
08 | 键入网址再按下回车,后面究竟发生了什么?
09 | HTTP报文是什么样子的?
10 | 应该如何理解请求方法?
11 | 你能写出正确的网址吗?
12 | 响应状态码该怎么用?
13 | HTTP有哪些特点?
14 | HTTP有哪些优点?又有哪些缺点?
进阶篇 (8讲)
15 | 海纳百川:HTTP的实体数据
16 | 把大象装进冰箱:HTTP传输大文件的方法
17 | 排队也要讲效率:HTTP的连接管理
18 | 四通八达:HTTP的重定向和跳转
19 | 让我知道你是谁:HTTP的Cookie机制
20 | 生鲜速递:HTTP的缓存控制
21 | 良心中间商:HTTP的代理服务
22 | 冷链周转:HTTP的缓存代理
安全篇 (7讲)
23 | HTTPS是什么?SSL/TLS又是什么?
24 | 固若金汤的根本(上):对称加密与非对称加密
25 | 固若金汤的根本(下):数字签名与证书
26 | 信任始于握手:TLS1.2连接过程解析
27 | 更好更快的握手:TLS1.3特性解析
28 | 连接太慢该怎么办:HTTPS的优化
29 | 我应该迁移到HTTPS吗?
飞翔篇 (4讲)
30 | 时代之风(上):HTTP/2特性概览
31 | 时代之风(下):HTTP/2内核剖析
32 | 未来之路:HTTP/3展望
33 | 我应该迁移到HTTP/2吗?
探索篇 (5讲)
34 | Nginx:高性能的Web服务器
35 | OpenResty:更灵活的Web服务器
36 | WAF:保护我们的网络服务
37 | CDN:加速我们的网络服务
38 | WebSocket:沙盒里的TCP
总结篇 (2讲)
39 | HTTP性能优化面面观(上)
40 | HTTP性能优化面面观(下)
答疑篇 (2讲)
41 | Linux/Mac实验环境搭建与URI查询参数
42 | DHE/ECDHE算法的原理
结束语 (1讲)
结束语 | 做兴趣使然的Hero
透视HTTP协议
登录|注册

29 | 我应该迁移到HTTPS吗?

Chrono 2019-08-02
今天是“安全篇”的最后一讲,我们已经学完了 HTTPS、TLS 相关的大部分知识。不过,或许你心里还会有一些困惑:
“HTTPS 这么复杂,我是否应该迁移到 HTTPS 呢?它能带来哪些好处呢?具体又应该怎么实施迁移呢?”
这些问题不单是你,也是其他很多人,还有当初的我的真实想法,所以今天我就来跟你聊聊这方面的事情。

迁移的必要性

如果你做移动应用开发的话,那么就一定知道,Apple、Android、某信等开发平台在 2017 年就相继发出通知,要求所有的应用必须使用 HTTPS 连接,禁止不安全的 HTTP。
在台式机上,主流的浏览器 Chrome、Firefox 等也早就开始“强推”HTTPS,把 HTTP 站点打上“不安全”的标签,给用户以“心理压力”。
Google 等搜索巨头还利用自身的“话语权”优势,降低 HTTP 站点的排名,而给 HTTPS 更大的权重,力图让网民只访问到 HTTPS 网站。
这些手段都逐渐“挤压”了纯明文 HTTP 的生存空间,“迁移到 HTTPS”已经不是“要不要做”的问题,而是“要怎么做”的问题了。HTTPS 的大潮无法阻挡,如果还是死守着 HTTP,那么无疑会被冲刷到互联网的角落里。
目前国内外的许多知名大站都已经实现了“全站 HTTPS”,打开常用的某宝、某东、某浪,
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《透视HTTP协议》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(9)

  • Fstar
    感谢老师的这篇文章!今天我成功将个人博客网站迁移到 HTTPS 了,高兴。
    我之前一直没有把网站迁移到 HTTPS ,主要是因为需要学很多东西,比如如何配置 nginx,https 的相关知识,证书的申请等等(做开发的都知道,配置这种东西真的很麻烦)。此外误解申请证书是要花很多钱的(看了这章才知道有这么方便简单的免费证书),另外又觉得我这个只是个个人技术博客网站,http 其实也可以,就一直放在那里不做了。
    不过学了这章和前面的内容,就明白的 HTTPS 大概的过程,也学会了迁移 HTTPS 需要注意的一些细节。今天也是成功将自己的个人博客迁移到 HTTPS 了,期间也是各种问题不断,也是一一解决,折腾了很久。不过看到自己的网站上在也没有“不安全”的标签,也是觉得非常有成就感。

    作者回复: 一起分享你的喜悦!

    2019-08-03
    9
  • 阿锋
    上文提到的虚拟主机,跟正向代理,反向代理,有什么区别。

    作者回复: 虚拟主机与代理没有关系,是http服务器里的概念,在一个ip地址上存在多个域名(即主机),所以叫“虚拟主机”。

    因为不能用ip地址区分,所以就要用host字段,区分不同的主机(域名、网站)。

    2019-08-02
    1
    3
  • 许童童
    个人博客网站很早就用上了https,但老师说的那些Nginx优化参数没有用上,我这就去加上。

    作者回复: 很好的实践机会。

    2019-08-02
    2
  • 许童童
    老师你好,刚才搞了半天编译好了Nginx新版本With OpenSSL才开启TLSv1.3,不知道老师是怎么安装这些软件的,有什么好的建议吗?
    nginx version: nginx/1.16.0
    built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
    built with OpenSSL 1.1.1 11 Sep 2018

    作者回复: 支持tls1.3主要就是OpenSSL要升级到1.11,Nginx的版本用较新的就好。

    因为Nginx的ssl功能依赖于底层的OpenSSL,所以支持tls1.3比较简单,只要重新编译就好。

    这方面好像没什么简单的方法,不过也不是很麻烦。

    2019-08-02
    1
  • Demon.Lee
    安全篇学习完了,大部分都没记住,看样子,起码得刷3遍以上🐮

    作者回复: https要比http复杂得多,因为涉及到安全,所以“万事小心”。

    可以结合抓包、Chrome工具,多做实验。

    2019-10-29
  •        鸟人
    请问如果网站HTTPS证书过期会怎么样?

    作者回复: 那么证书就失效了,浏览器会认为不安全,当然还是可以强制访问的。

    2019-08-26
  • 徐海浪
    1. 结合你的实际工作,分析一下迁移 HTTPS 的难点有哪些,应该如何克服?
    (说下我经历的)
    a. 梳理所有外部连接是否为https。因为切换https后,有的浏览器会有安全机制限制发起http请求。
    b. 开启http强制跳转https后,如果httpclient(代码)没有处理302状态,那么接口会调不通。要通知外部接口调用变更https。
    先在测试环境开启强制跳转https强制跳转。生产环境有一个共存过度期,最后再强制跳转。

    作者回复: 欢迎实战经验分享!

    2019-08-05
  • 一步
    Mac 电脑查看 openssl 的版本,发现是这个:LibreSSL 2.6.5

    LibreSSL 怎么和 openSSL 版本对应的?

    作者回复: LibreSSL是OpenBSD的分支,和OpenSSL的差异较大,可以看它的官网http://www.libressl.org,了解具体的情况。

    2019-08-03
  • Geek_54edc1
    2、TLS1.3的pre-shared-key,实现0-RTT;OCSP Stapling;

    作者回复: 对,相应的Nginx指令是:

    ssl_early_data on;
    ssl_stapling on;

    2019-08-02
收起评论
9
返回
顶部