TLS False Start究竟是如何加速网站的

news/2024/4/27 16:58:47/文章来源:https://blog.csdn.net/weixin_33862041/article/details/89484027

作者:王继波
野狗科技运维总监,曾在360、TP-Link从事网络运维相关工作,在网站性能优化、网络协议研究上经验丰富。
野狗官博:https://blog.wilddog.com/
野狗官网:https://www.wilddog.com/
公众订阅号:wilddogbaas

图片描述

我们是一群认真执着的小野狗,任何体验和性能的提升,我们都非常关注。今天我们来介绍HTTPS网站加速中的一个重要功能-TLS False Start,这当然已经在野狗所有网站上实现。

先来说说优化HTTPS网站三个基本出发点:

  • 使用更少的网络通信往返;

  • 更少更快的加解密计算;

  • 更小的网络延迟。

而TLS False Start功能对HTTPS网站的加速正是通过减少通信RT(Round Trip)实现的。

TLS False Start是什么?

首先我们来看看HTTP和HTTPS通信对比。

在最不理想状况下,一个正常HTTP到达TTFB(Time To First Byte)需要经过以下过程:1个DNS查询RT、1个TCP握手RT,至少一个HTTP请求和响应RT。我们假设浏览器和服务器之间的RTT为50ms(50ms也是中国网络从南到北延迟值),这里我们暂且不考虑DNS,所以在这个假设下,HTTP到达TTFB需要100ms。

我们再来看看HTTPS过程,相比于HTTP,HTTPS多出两个RTT用来协商TLS隧道(这里忽略加解密计算和OCSP等时间因素),同样不考虑DNS,在这个假设下,HTTPS到达TTTFB需要200ms。

可以看到,HTTPS通信时间是HTTP的整整两倍,这也是认为HTTPS慢的重要原因之一。

图片描述

HTTPS通信过程

试想,如果能够减少HTTPS通信过程的RT,将时间从200ms提高到150ms,那直接减少了1/4的时间消耗,这对于高并发高负载的服务器性能提升和带宽节省是显而易见的。

这当然是有办法的,这就是今天要介绍的TLS False Start的作用。

TLS False Start是Google提出来的优化方法,其做法是:在TLS协商第二阶段,浏览器发送ChangeCipherSpec和Finished后,立即发送加密的应用层数据,而无需等待服务器端的确认。

下图是启用TLS False Start之后的HTTPS通信过程。

图片描述

HTTPS通信过程启用TLS False Start

下面理论结合实际,通过抓包的方法来分析。分别对未启用TLS False Start的京东登录页面和启用TLS False Start的野狗WildDog首页(https://www.wilddog.com)抓包。

先来看下未启用TLS False Start的京东登录页面通信过程。

图片描述

在上图框出两处可以看到,浏览器端在发送ChangeCipherSpec和Finished后,处于等待状态,直到服务器的确认包到达,才进行加密的应用数据传输。

再来看下enable TLS False Start的野狗WildDog首页通信过程。

图片描述

在上图框出两处可以看到,浏览器在发送ChangeCipherSpec和Finished后,并没有等待服务器端的确认就立即发送了加密应用数据。这样就省去了一个RT。

如何启用TLS False Start?

开启TLS False Start需要浏览器端和服务器端同时满足条件。

Chrome和Firefox需要支持NPN/ALPN,并且服务器端配置支持前向安全(Forward Secrecy);
Safari从OSX 10.9开始支持,并需要服务器端开启前向安全配合;
IE使用黑名单和超时机制实现。
Chrome和Firefox的最新版本都是默认支持NPN/ALPN的,这也可以通过抓包看到的,在数据包的扩展字段中。

图片描述

那如何在服务器端开启Forward Secrecy?

不同的WEB服务器有不同的方法,这里以Nginx为例说明,开启方法其实不麻烦。

ssl_prefer_server_ciphers on;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256…..(加密套件的选择具有很大灵活度,不列举详细列表)

详细的TLS False Start说明可以参见IETF的文档。

https://tools.ietf.org/html/draft-bmoeller-tls-falsestart-00

也欢迎大家关注野狗,和我们多多交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_846309.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

互联网网站架构升级----分布式环境的构建

随着网络流量爆发式增长,几百人维护一个项目将是一个可怕的噩梦,业务拆分势在必行。拆分的业务形成一个个独立的系统,系统间的协调又变成了一个棘手的问题,所以维护这些系统间协调关系的分布式环境组件将发挥至关重要的作用。 由于…

一些网站的欣赏

1: http://nikkibrion.com/ 如上图所示,该站点采用纵向3栏的布局方式,同时在页面的顶部和底部采用渐变的背景图片,实现在不同的分辨率下,都能够显示100%的宽度。在实际制作页面的时候, 经常使用重复的背景…

vue项目SEO优化方案——prerender-spa-plugin插件实现预渲染

安装插件 npm install prerender-spa-plugin --save代码应用 vue.config.js const PrerenderSPAPlugin require(prerender-spa-plugin); const Renderer PrerenderSPAPlugin.PuppeteerRenderer; const path require(path); module.exports {configureWebpack: () > {…

WordPress 多站点建站教程(五):获取子站点用户信息(通过输入站点ID号来获取该站点的所有用户)...

得到站点ID为1的用户 <ul> <?php$blogusers get_users(blog_id1);foreach ($blogusers as $user){echo <li> . $user->user_email . </li>; } //利用get_users函数&#xff0c;通过输入站点ID号来获取该站点的所有用户。 ?> </ul> 通过这…

mouseout、mouseover和mouseleave、mouseenter区别

今天在使用鼠标事件时&#xff0c;用错了mouseout&#xff0c;于是做个测试总结。 结论&#xff1a; mouseenter&#xff1a;当鼠标移入某元素时触发。 mouseleave&#xff1a;当鼠标移出某元素时触发。 mouseover&#xff1a;当鼠标移入某元素时触发&#xff0c;移入和移出其子…

设置路由表让网站访问受限实战演练

这次接受实验的网站&#xff1a;以下简称“网站” 我们先PING一下接网站域名&#xff0c;得到IP地址&#xff0c;IP结尾为.69 然后我们tracert下看路由经过多少跳。 使用SolarWinds.Engineers扫描网站的IP段。我们获知网站网段内有一台Cisco路由器&#xff0c;通过IP&#xff0…

除了发外链seo人还能干什么

2019独角兽企业重金招聘Python工程师标准>>> 最近关于seo出路的讨论很多&#xff0c;不管是线上的朋友还是线下的同事&#xff0c;很多人对于seo似乎已经不抱什么希望了&#xff0c;“什么优化不好做了”“百度快成自己站内搜索”等言论不胫而走&#xff0c;但一旦跟…

阿里云怎么查看网站信息和账号信息?

话不多说&#xff0c;看图~ 转载于:https://www.cnblogs.com/ChouXiaoShou/p/aliyunchakan.html

关于服务器搭建git同步到网站目录心得

2019独角兽企业重金招聘Python工程师标准>>> 具体搭建方法https://blog.csdn.net/xzongyuan/article/details/11575495 这篇文章写详细了&#xff0c;主要有几点需要注意&#xff0c;第一最好在服务器端创建新仓库&#xff0c;免去合并的麻烦&#xff0c; 第二.ssh文…

Seomoz年度Web2.0排名 中国网站无一入围

北京时间5月10日消息&#xff0c;据国外媒体报道&#xff0c;美国搜索引擎营销公司seomoz.org今日公布了2007年度Web2.0大奖。为了评选这一奖项&#xff0c;seomoz.org组织了一个由25名专家组成的团队&#xff0c;从可用性、实效性、社会影响、界面与设计、以及内容品质等五个方…

网站繁简转换解决方案--ASP,JSP,PHP,.Net通用

网站繁简转换解决方案--ASP,JSP,PHP,.Net通用作者:Webmaster 来源:Linuxdby.com 点击:40 日期:2007-06-05 [收藏] [投稿] IE是否经常中毒&#xff1f;推荐您 下载带有 Google 工具栏的 Firefox&#xff0c; 上网冲浪更惬意用法&#xff1a;在后台控制这行输出否&#xf…

用整站程序(网站源代码)十分钟快速建站

用整站程序(网站源代码)十分钟快速建站悬赏分&#xff1a;0 - 解决时间&#xff1a;2007-2-2 18:20怎么做提问者&#xff1a; guolibao888 - 试用期 一级最佳答案现在提起做网站&#xff0c;特别是一些做一些中小型的企业站、网上商城、信息港等等&#xff0c;已经不再是人们想…

电子商务网站安全方案

电子商务网站安全方案 前提随着信息化的浪潮席卷全球&#xff0c;传统的商务模式越来越受到巨大的冲击。越来越多的企业和个人消费者&#xff0c;在 Internet 开放的网络环境下&#xff0c;基于浏览器 / 服务器应用方式&#xff0c;实现消费者地网上购物、商户之间的网上交易和…

博客园添加网站统计访问量-操作简单很实用哦!

浏览博客园&#xff0c;看到这个小文章&#xff0c;跟着操作了一下&#xff0c;可以定制网站的访问人数、访问量&#xff0c;需要的亲果断试试看吧&#xff01; 效果图&#xff1a; 博文&#xff1a;   无意中看到有这个访问量的统计&#xff0c;觉得挺好玩的&#xff0c;我们…

胜于言传—网站内容制胜宝典

Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE胜于言传—网站内容制胜宝典&#xff08;全彩&#xff09; Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE作 者&#xff1a;JANICE(GINNY)REDISH 译 者&#xff1a;王冬妮 出版日期&#xff1a;200…

《玩赚你的网站》即《玩转你的网站》

通 知 近期华章公司出版的一本畅销图书《玩赚你的网站》 &#xff0c;有很多会员反应在网上搜不到。我们核查了一下原因&#xff0c;原来大家在搜索时使用了《玩转你的网站》 &#xff01; 图书上此“赚 ”非彼“转 ”&#xff0c;不过只要网站转了&#xff0c;就一定会赚&…

社交网站要故意设计得不够完善,你知道这点吗?

本文摘自《社交网站界面设计》 第2章“社交的核心” 社交网站要故意设计得不够完善 设计网络社交环境和设计传统媒体、内容广播式的网站&#xff0c;其中一个关键区别就是网络社区不可能在事前就设计得非常完备。或者&#xff0c;更彻底地说&#xff0c;就是社区不应该提前设计…

国外知名网站Stackoverflow评选的最有影响力IT图书出炉

《 推荐11本对程序员最有影响力的书籍 》在购买以下图书时&#xff0c;您都无需犹豫&#xff01;这些图书都经过了多年的读者口碑相传&#xff0c;有的出版至今快30余年&#xff0c;整整影响过几代程序员。而如今他们都还在推荐这些图书&#xff0c;可见他们的经典之处。 导读&…

2011年3月新书书讯:ASP.NET本质论、Erlang编程指南、SNS网站构建

ASP.NET本质论 深入剖析ASP.NET的运行机制和工作原理&#xff0c;带你领略ASP.NET的本质和精髓包含大量开发技巧和最佳实践&#xff0c;为开发稳定而高效的ASP.NET应用提供绝佳指导SNS网站构建 提供构建SNS社区的实际解决方案 为SNS社区创造受大众欢迎的用户体验 Obejcti…

SNS网站最重要的任务:思考人们为什么会持续访问你的站点

理解人们为什么会不断访问你的社会应用程序可能是SNS网站产品团队的最重要的任务。 你可以做一些简单的事情&#xff0c;以确保他们在你的网站上会觉得舒服点&#xff0c;但最重要的是你要给他们提供社交的环境。如果他们是自发来的&#xff0c;他们可能仅仅会随便摆弄一两个功…