首页 > 优化 > 关键词 > HTTPS最新资讯 > 正文

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

2015-05-05 14:13 · 稿源:百度运维

1 前言

上文讲到 HTTPS 对用户访问速度的影响

本文就为大家介绍 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

通常情况下,应用层数据必须等完全握手全部结束之后才能传输。这个其实比较浪费时间,那能不能类似 TFO 一样,在完全握手的第二个阶段将应用数据一起发出来呢?google 提出了 false start 来实现这个功能。详细介绍参考https://tools.ietf.org/html/draft-bmoeller-tls-falsestart-00。

简单概括 False start 的原理就是在 client_key_exchange 发出时将应用层数据一起发出来,能够节省一个 RTT。

False start 依赖于 PFS(perfect forward secrecy 完美前向加密),而 PFS 又依赖于 DHE 密钥交换系列算法(DHE_RSA, ECDHE_RSA, DHE_DSS, ECDHE_ECDSA),所以尽量优先支持 ECDHE 密钥交换算法实现 false start。

2.6 使用 SPDY 或者 HTTP2

SPDY 是 google 推出的优化 HTTP 传输效率的协议(https://www.chromium.org/spdy),它基本上沿用了 HTTP 协议的语义, 但是通过使用帧控制实现了多个特性,显著提升了 HTTP 协议的传输效率。

SPDY 最大的特性就是多路复用,能将多个 HTTP 请求在同一个连接上一起发出去,不像目前的 HTTP 协议一样,只能串行地逐个发送请求。Pipeline 虽然支持多个请求一起发送,但是接收时依然得按照顺序接收,本质上无法解决并发的问题。

HTTP2 是 IETF 2015 年 2 月份通过的 HTTP 下一代协议,它以 SPDY 为原型,经过两年多的讨论和完善最终确定。

本文就不过多介绍 SPDY 和 HTTP2 的收益,需要说明两点:

1、SPDY 和 HTTP2 目前的实现默认使用 HTTPS 协议。

2、SPDY 和 HTTP2 都支持现有的 HTTP 语义和 API,对 WEB 应用几乎是透明的。

Google 宣布 chrome 浏览器 2016 年将放弃 SPDY 协议,全面支持 HTTP2,但是目前国内部分浏览器厂商进度非常慢,不仅不支持 HTTP2,连 SPDY 都没有支持过。

百度服务端和百度手机浏览器现在都已经支持 SPDY3.1 协议。

  • 相关推荐
  • 大家在看
  • Chrome正在启用HTTP/3,支持IETF QUIC

    QUIC(Quick UDP Internet Connections)是 Google 推出的一个项目,旨在降低基于 TCP 通讯的 Web 延迟。QUIC 非常类似 TCP+TLS+SPDY ,但是基于 UDP 实现的。它是 HTTP/3 的基础协议。

  • HTC 申请可折叠手机专利:外翻版 Moto Razr

    DoNews 9月29日消息(记者 刘文轩)可折叠智能手机似乎有内翻就会有外翻,比如三星的 Galaxy Z Fold 和华为的 Mate X。另一种采用类似翻盖机形态的可折叠智能手机也有了“外翻派”。LetsGoDigital 发现 HTC 在 2019 年底向 WIPO 申请了一款折叠手机专利,今年 8 月正式公开。根据这份专利,HTC 这款折叠机采用类似三星 Galaxy Z Flip 和 Motorola Razr 5G 的翻盖形式,但方向却相反,也就是向外翻折,把原本竖直的屏幕分为两块更小

  • HTC折叠屏智能机设计专利曝光

    ​在规划 5G 智能机产品线的同时,HTC 似乎也在酝酿折叠屏的选项。荷兰科技博客 LetsGoDigital 报道称:2019 年底的时候,该公司在美国申请了一项“可折叠显示设备”的专利申请,并于 2020 年 8 月 20 日正式被世界知识产权组织(WIPO)的数据库所收录。与市面上的同类产品一样,得益于可半开或摊平的灵活铰链设计,该机也能够在智能机 / 平板电脑模式之间进行变换。

  • Uber Freight正在进行5亿美元融资

    Uber将向投资者Greenbriar Equity Group LP出售Uber Freight的部分股份,作价达5亿美元。消息人士称,这一交易将在本月完成。资料显示,去年9月份,Uber Freight在芝加哥成立了总部,Uber表示将在该地区每年投资超过 2 亿美元,并雇用数百名员工。(完)

  • 当贝电视盒子怎么样,和其他的电视盒子有什么区别?

    现在买电视盒子,大家主要会选择两个品牌,一个是小米,一个是当贝,小米因为目前新款少,所以大多数的消费者把目光放到了当贝上面,且一直都有人说当贝盒子是目前最强的电视盒子,那么为什么那么说,当贝电视盒子怎么样?我们今天就来讨论一下这款盒子。首先来聊一聊当贝这家公司,起一个底,当贝是一家运营 7 年的创业公司,最早是做智能电视论坛的,后来开始做电视软件的资源整合,我们常用的当贝市场就是当贝在这个时候所开发的

  • 淘宝特价版店铺与淘宝天猫店铺有什么区别

    淘宝特价版店铺和普通的淘宝、天猫店铺有哪些区别,两种店铺的不同之处是什么呢,这里我们来详细介绍下淘宝特价版店铺的规则、要求及不同点,帮助大家来了解淘宝特价版。

  • 当贝超级盒子b1和h1哪个好?有什么区别

    电视在家庭中有举足轻重的地位,电视盒子是电视的主机这几年一直都非常受到大家的重视,目前在电视盒子市场中,当贝盒子的名声越来越大,所以今天和大家来聊一聊当贝旗下的两个型号,告诉大家如何选择。首先来看一下两个型号的配置,当贝超级盒子B1,使用的是晶晨的处理器,3G+32G的内存组合,还有就是当贝超级盒子H1,使用的海思的处理器,在 300 元这个价位,H1 也是做到了2G+16G的内存组合,且没有水分,在信号方面,两个型号都

  • iPhone12各版本有什么区别 苹果12四款机型配置表一览

    苹果12各版本有什么区别?苹果在北京时间 10 月 14 日凌晨 1 点举行新品发布会,正式发布了 iPhone 12 mini、iPhone 12、iPhone 12 Pro 和 iPhone 12 Pro Max 四款新机,新机均支持 5G 网络,并采用全新外观设计,屏幕边框更窄,整机尺寸也更加轻薄,影像拍摄能力也都得到了不少提升。发布会中多次提到 5G 技术带来的体验提升。更快的上传、下载速度,更流畅的游戏和视频体验,「智能数据模式」可以自动判断何时切换 5G,从而延长?

  • CB Insights2020年度全球十大最有价值数字健康公司 3家中国公司上榜

    近日,市场研究机构CB Insights公布了2020年度全球十大最有价值数字健康公司,3家中国公司上榜,分别是移动互联网医疗健康服务平台微医、互联网健康保障平台水滴公司和计算机视觉公司依图,微医及水滴公司均为腾讯投资企业,依图曾获得马云旗下云锋基金投资。其中,数字健康公司被定义为健康医疗领域中使用技术/软件作为主要竞争力之一的公司,包括疾病诊断、技术驱动的医疗保险平台、用于药物发现的 AI

  • 安信证书聚惠双节:SSL证书申请特价,还有礼品卡赠送

    2020 年的中秋节和国庆节是同一天,为了迎接“双节”的到来,国内领先的HTTPS解决方案服务商安信证书推出特价SSL证书申请活动,更有超值礼品卡赠送,小米10、华为P40 等商品等你来拿。今年中秋和国庆节在同一天,8天的长假让大家有足够的时间与家人团聚或者出去旅旅游。然而对网站运营人员来说,这个时候也是网站被攻击最频繁的,网站上的隐私数据极易被窃取。如何保障网站在节假日期间用户能够安全访问,给网站部署SSL证书是非常?

  • 币安区块链研究院“星火计划”将提供美国斯坦福大学人工智能课程,由教育机构Shorelight共同引入

    星火计划「数字新基建课程倡议」简介2020 年 6 月 ,币安中国区块链研究院启动重要战略项目“数字新基建·百城千企星火计划”,旨在连接全球资源,积极响应中国政府号召,布局区块链、人工智能、云计算以及大数据等新基建相关领域。9 月 18 日,由币安中国区块链研究院、临港区块链技术研究院、亚马逊AWS和数字投行FINWEX联合主办的IFIC上海峰会、第一届数字新基建创新大赛奠定了“数字新基建”相关活动的重要基础,更是汇聚了重量

  • 木瓜移动申请创业板 有哪些申请优势

    如今,随着全球经济格局的变化,国内企业在出海时不仅注重产品,更注重产品的营销是否能精准到达目标用户。企业国内在出海之时会发现,企业需要精准的海外营销能力,才能将企业的优质产品传递到用户。在接触过大量出海企业后发现,国内企业在出海时,往往一头雾水,离不开如木瓜移动这样的专业互联网海外营销服务商的帮助。近日,木瓜移动申请了创业板,那么为何木瓜移动能成为中国出海品牌的优先选择?木瓜移动申请了创业板木瓜移

  • 字节跳动申请“锤子写作”商标 状态为注册申请中

    据企查查 App 显示, 9 月 18 日,北京字节跳动网络技术有限公司申请注册多件 “锤子写作”商标,目前状态为注册申请中。

  • 男子携号转网遭拒协议被延长18年 运营商:协议期是20年

    近日,西安的曹先生称,自己到移动公司携号转网时被告知无法办理,协议期被延长到2038年,注销也不成。曹先生称,自己是18年半的移动卡,办卡的时候花了800元,当时营业员称协议期是两年。今年8月自己到营业厅一查,工作人员称该号码可以携号转网。自己把宽带的盒子还给营业厅之后,收到一条短信称自己的协议被延长到了2038年。

  • 企业想要吸引“回头客”?天威诚信SSL证书为您助力

    众所周知,对于企业来说,用户的个性化体验是其提高客户满意度的关键,但想要成功做到这一点,吸引更多的“回头客”,就必须访问个人数据。近年来,围绕第三方积累和使用个人数据的隐私问题已成为消费者关注的焦点。据Privitar的一项调查结果显示,虽然消费者依旧担心与公司共享个人数据,但企业仍然有机会发挥领导作用,通过保护客户数据来建立品牌忠诚度。调查显示,43%的消费者不知道他们是否曾与受数据泄露影响的企业合作过。?

  • 【喜讯】辽宁华大智能科技同时获得ISO管理体系三大证书

    经过一系列严格的管理与评审,辽宁华大智能科技顺利通过ISO三大管理体系官方认证:包括质量管理体系认证ISO 9001:2015;环境管理体系认证ISO 14001:2015;职业健康安全管理体系认证ISO 45001:2018。ISO是国际标准化组织(International Organization for Standardization)的简称。该组织是世界上最大的非政府性标准化专门机构,是国际标准化领域中一个十分重要的组织。ISO体系认证证书的获得,对企业来说具有一系列积极重要意义。

  • 京东申请数条京东直播及相关商标 当前状态为商标申请中

    天眼查显示,近日,北京京东叁佰陆拾度电子商务有限公司申请数条“京东直播”“京东直播基地”商标,商标国际分类包括广告销售、教育娱乐等,当前状态为商标申请中。

  • 高发泡与EVA有哪些区别?EVA内衬厂家为您解析

    eva是一种高分子共聚物,中文名称是乙烯-醋酸乙烯酯共聚物,本身并不是泡沫材料,在它还没被发泡的时候,它是白色微透明颗粒状的。并且根据共聚物中乙烯和醋酸乙烯的含量不同,它所具有的性质也是不同的。一般情况下,醋酸乙烯酯含量在5%以下的EVA,其主要产品是薄膜、电线电缆、LDPE改性剂、胶黏剂等;醋酸乙烯酯含量在5%~10%的EVA产品为弹性薄膜等;醋酸乙烯酯含量在20%~28%的EVA,主要用于热熔黏合剂和涂层制品;醋酸乙烯酯含量

  • 蚂蚁CEO称乞丐也能获得贷款 区别只是额度问题

    今天,蚂蚁集团CEO胡晓明在外滩大会上表示“飞机不该拼飞得多高,而是拼飞得多低”。如何通过科技让金融变得更普惠是蚂蚁一直在思考的问题。

  • 华为服务号怎么申请入驻 华为服务号申请步骤流程

    华为服务号是2020华为全联接大会上正式公布的一个新服务,商家通过接入华为服务号平台,即可实现消息推送通过华为手机负一屏、生活服务App等入口精准触达用户,帮助用户即时获取服务、优惠信息。

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议
  • 热门标签