设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 创业者 手机 数据
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

全站HTTPS没你想象的那么简单,电商网站兼顾安全与性能的踩坑小结!(4)

发布时间:2017-09-13 12:26 所属栏目:19 来源:51CTO技术栈
导读:HTTPS 方案之性能优化篇 谈如何优化 HTTPS 的性能之前,我们先来看看整个 TLS 握手流程,如下图: 如图中所示,一个握手过程最坏的情况下,要分为八个步骤: 发送 Syn 包到 Web 客户端,收到并确认后,同时发送 Syn

HTTPS 方案之性能优化篇

谈如何优化 HTTPS 的性能之前,我们先来看看整个 TLS 握手流程,如下图:

如图中所示,一个握手过程最坏的情况下,要分为八个步骤:

  • 发送 Syn 包到 Web 客户端,收到并确认后,同时发送 SynAck 到服务器,这时还是一个 HTTP 的请求。

  • HTTP 转换 HTTPS,需要做一次 302 或者 301 跳转。

  • 用户再次发送 HTTPS 请求,做一次 TCP 握手。

  • 做 TLS 完全握手第一阶段,Clienthello 到 Server hello。

  • 当证书首次到客户端,客户端需要走验证流程,做 CA 域名解析。

  • 第二次,TLS 握手。

  • 在线证书合法性校验的过程。

  • TLS 完全握手第二阶段,底部灰色部分才是真正的数据通讯。

苏宁易购的全站 HTTPS 方案在性能优化方面做了很多事情,如 HSTS、Session resume、Ocsp stapling 的合理使用,如客户端 HTTPS 性能、HttpDNS 解决 DNS 攻击劫持等优化。

01、HSTS 的合理使用

Web 安全协议 HSTS 的作用是强制客户端(如浏览器)使用 HTTPS 与服务器创建连接。

优点是减少 HTTP 做 302 跳转的开销。302 跳转不仅暴露了用户的访问站点,也很容易被中间者劫持(降级劫持、中间人攻击),最重要是降低了访问速度(影响性能)。

缺点是 HSTS 在 max-age 过期时间内,在客户端是强制 HTTPS 的,服务端无法控制。

因此,当需要降级时,HTTPS 无法及时切换到 HTTP。当然你也可以通过手动动态去配置 max-age 的值,这样可以通过将 max-age 设置为 0 来达到降级效果。

还有 HSTS 是严格的 HTTPS,一旦网络证书错误时,网页将直接无法访问(用户无法选择忽视)。

02、Session resume 的合理使用

当用户端和客户端、客户端和服务端完成第一次 TLS 握手之后,第二次数据传输还需要 TLS 握手吗?

这里可以采用 Session 复用的方式。Session resume(会话复用),是 RFC 标准中早就定好的一个机制,HTTPS 最初发布时就已经涉及其中。

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读