• 互联网
  • 建站经验
  • 网站优化
  • 百度竞价
  • 网站推广
  • 电子商务
  • 网站运营
  • 移动互联
经典案例
最新动态
  • 我是如何寻找seo图标素材
  • 网站关键词选择的四大步
  • 搜索引擎眼中的原创文章
  • 为独立移动网站提供更完
  • 荐2014年春节网站优化安排
  • 浅析快照对排名的影响
  • 网站页的收录与快照并不
  • 浅析做好电商网站外链需
  • 为什么说电商网站做SEO会
  • 谈谈网站SEO的几个重点
IE79 大型网站HTTPS实践三:基于协议和配置的优化
纵易网络 > 建站知识 > 网站优化 >

大型网站HTTPS实践三:基于协议和配置的优化

发布于:2015-05-14 14:43来源:网络整理 作者: 纵易网络点击:70次

1 前言

上文讲到 。

本文就为大家介绍 HTTPS 在访问速度,计算性能,安全等方面基于协议和配置的优化。

2 HTTPS 访问速度优化

2.1 Tcp fast open

HTTPS 和 HTTP 使用 TCP 协议进行传输,也就意味着必须通过三次握手建立 TCP 连接,但一个 RTT 的时间内只传输一个 syn 包是不是太浪费?能不能在 syn 包发出的同时捎上应用层的数据?其实是可以的,这也是 tcp fast open 的思路,简称 TFO。具体原理可以参考 rfc7413。

遗憾的是 TFO 需要高版本内核的支持,linux 从 3.7 以后支持 TFO,但是目前的 windows 系统还不支持 TFO,所以只能在公司内部服务器之间发挥作用。

2.2 HSTS

前面提到过将用户 HTTP 请求 302 跳转到 HTTPS,这会有两个影响:

1、不安全,302 跳转不仅暴露了用户的访问站点,也很容易被中间者支持。

2、降低访问速度,302 跳转不仅需要一个 RTT,浏览器执行跳转也需要执行时间。

由于 302 跳转事实上是由浏览器触发的,服务器无法完全控制,这个需求导致了 HSTS 的诞生:

HSTS(HTTP Strict Transport Security)。服务端返回一个 HSTS 的 http header,浏览器获取到 HSTS 头部之后,在一段时间内,不管用户输入www.baidu.com还是http://www.baidu.com,都会默认将请求内部跳转成https://www.baidu.com。

Chrome, firefox, ie 都支持了 HSTS(http://caniuse.com/#feat=stricttransportsecurity)。

2.3 Session resume

Session resume 顾名思义就是复用 session,实现简化握手。复用 session 的好处有两个:

1、减少了 CPU 消耗,因为不需要进行非对称密钥交换的计算。

2、提升访问速度,不需要进行完全握手阶段二,节省了一个 RTT 和计算耗时。

TLS 协议目前提供两种机制实现 session resume,分别介绍一下。

2.3.1 Session cache

Session cache 的原理是使用 client hello 中的 session id 查询服务端的 session cache, 如果服务端有对应的缓存,则直接使用已有的 session 信息提前完成握手,称为简化握手。

Session cache 有两个缺点:

1、需要消耗服务端内存来存储 session 内容。

2、目前的开源软件包括 nginx,apache 只支持单机多进程间共享缓存,不支持多机间分布式缓存,对于百度或者其他大型互联网公司而言,单机 session cache 几乎没有作用。

Session cache 也有一个非常大的优点:

session id 是 TLS 协议的标准字段,市面上的浏览器全部都支持 session cache。

百度通过对 TLS 握手协议及服务器端实现的优化,已经支持全局的 session cache,能够明显提升用户的访问速度,节省服务器计算资源。

2.3.2 Session ticket

上节提到了 session cache 的两个缺点,session ticket 能够弥补这些不足。

Session ticket 的原理参考 RFC4507。简述如下:

server 将 session 信息加密成 ticket 发送给浏览器,浏览器后续握手请求时会发送 ticket,server 端如果能成功解密和处理 ticket,就能完成简化握手。

显然,session ticket 的优点是不需要服务端消耗大量资源来存储 session 内容。

Session ticket 的缺点:

1、session ticket 只是 TLS 协议的一个扩展特性,目前的支持率不是很广泛,只有 60% 左右。

2、session ticket 需要维护一个全局的 key 来加解密,需要考虑 KEY 的安全性和部署效率。

总体来讲,session ticket 的功能特性明显优于 session cache。希望客户端实现优先支持 session ticket。

2.4 Ocsp stapling

Ocsp 全称在线证书状态检查协议 (rfc6960),用来向 CA 站点查询证书状态,比如是否撤销。通常情况下,浏览器使用 OCSP 协议发起查询请求,CA 返回证书状态内容,然后浏览器接受证书是否可信的状态。

这个过程非常消耗时间,因为 CA 站点有可能在国外,网络不稳定,RTT 也比较大。那有没有办法不直接向 CA 站点请求 OCSP 内容呢?ocsp stapling 就能实现这个功能。

详细介绍参考 RFC6066 第 8 节。简述原理就是浏览器发起 client hello 时会携带一个 certificate status request 的扩展,服务端看到这个扩展后将 OCSP 内容直接返回给浏览器,完成证书状态检查。

由于浏览器不需要直接向 CA 站点查询证书状态,这个功能对访问速度的提升非常明显。

Nginx 目前已经支持这个 ocsp stapling file,只需要配置 ocsp stapling file 的指令就能开启这个功能:

  • ssl_stapling on;ssl_stapling_file ocsp.staple;

2.5 False start

(责任编辑:纵易网络)
tag标签:站长之家(6108)HTTPS协议(3)HTTPS(2)
------分隔线----------------------------
  • 上一篇:大型网站的HTTPS实践四:协议层以外的实践
  • 下一篇:网站更新升级要注意的三大问题
------分隔线----------------------------
[相关文章]
  • Web前端性能优化教程02:使用内容分发网络
  • 新手遇到这些快照难题 该如何解决?
  • 谷歌要向广告商展示视频广告效果
  • 详情页优化那些不得不说的细节
  • 网站上线一个多月依旧不收录原因何在?
  • 浅析做好电商网站外链需要具备哪些条件
  • 网站优化:如何将内容营销有效植入SEO中?
  • 判读搜索引擎作弊算法
  • 百度分享哪些SEO外链是有效的
  • 关键词排名上不了首页!SEO技术不行?
  • 论顺序在网站优化过程中的重要性
  • 浅谈移动搜索流量增加后SEOER该何去何从
  • 谷歌“企鹅算法3.0”的影响到底有多大?
  • SEO新思维:教你如何利用热点事件搞优化
  • 搜索引擎前三位的网站是如何做优化的?
  • 盘点影响网站收录量的因素
  • 2014年新站应该如何做SEO优化
  • 企鹅算法or熊猫算法:谁是网站被K元凶?
  • 网站代码优化:让网站打开速度飞起来
  • Web前端性能优化教程03:添加Expires头
Copyright_r"> Copyright © 2002-2015 纵易网络 版权所有 Power by Zynet 版权所有

点击这里给我发消息

点击这里给我发消息

客户服务热线

021-69106465

现在就咨询

在线客服