会员登录
注册帐号
找回密码?
帐号登录
QQ登录
微信登录
综合资源
论坛首页
BBS
转换程序
图片转换
热门搜索
更多
前端开发
Discuz教程
JavaScript技巧
CSS布局
网站优化
响应式设计
搜索
承接
网站维护
网站升级
数据转换
页面美化
插件二开
BUG修复
热门
插件
板摸
教程
分享
攻略
经验
电脑
服务器
分类
数据转换
网站升级
故障排查
BUG修复
页面美化
插件升级
每日签到
会员分享(资源)
网站源码
精品教程
网站建设带案例
网站维护
优质站长运营专区
草根吧
»
论坛首页
›
站长交流专区
›
SEO推广
›
HTTPS对网站性能SEO有哪些影响?
返回列表
查看:
154
|
回复:
0
HTTPS对网站性能SEO有哪些影响?
[复制链接]
文心
文心
当前离线
买家信用
卖家信用
557
热度
269
元宝
9
贡献
终身ViP
发消息
发表于 2015-10-24 17:00:42
|
显示全部楼层
|
阅读模式
HTTPS对网站性能SEO有哪些影响?
1 前言
HTTPS在保护用户隐私,防止流量劫持方面发挥着非常关键的作用,但与此同时,HTTPS也会降低用户访问速度,增加网站服务器的计算资源消耗。
本文主要介绍https对用户体验的影响。
本文最早发表于百度运维部官方博客
2 HTTPS对访问速度的影响
在介绍速度优化策略之前,先来看下HTTPS对速度有什么影响。影响主要来自两方面:
1. 协议交互所增加的网络RTT(round trip time)。
2. 加解密相关的计算耗时。
下面分别介绍一下。
2.1 网络耗时增加
由于 HTTP和HTTPS都需要DNS解析,并且大部分情况下使用了DNS缓存,为了突出对比效果,忽略主域名的DNS解析时间。
用户使用HTTP协议访问
http://www.baidu.com
(或者
www.baidu.com
)时会有如下网络上的交互耗时:
可见,用户只需要完成TCP三次握手建立TCP连接就能够直接发送HTTP请求获取应用层数据,此外在整个访问过程中也没有需要消耗计算资源的地方。
接下来看HTTPS的访问过程,相比HTTP要复杂很多,在部分场景下,使用HTTPS访问有可能增加7个RTT。如下图:
HTTPS首次请求需要的网络耗时解释如下:
1. 三次握手建立TCP连接。耗时一个RTT。
2. 使用HTTP发起GET请求,服务端返回302跳转到
https://www.baidu.com
。需要一个RTT以及302跳转延时。
a) 大部分情况下用户不会手动输入
https://www.baidu.com
来访问HTTPS,服务端只能返回302强制浏览器跳转到https。
b) 浏览器处理302跳转也需要耗时。
3. 三次握手重新建立TCP连接。耗时一个RTT。
a) 302跳转到HTTPS服务器之后,由于端口和服务器不同,需要重新完成三次握手,建立TCP连接。
4. TLS完全握手阶段一。耗时至少一个RTT。
a) 这个阶段主要是完成加密套件的协商和证书的身份认证。
b) 服务端和浏览器会协商出相同的密钥交换算法、对称加密算法、内容一致性校验算法、证书签名算法、椭圆曲线(非ECC算法不需要)等。
c) 浏览器获取到证书后需要校验证书的有效性,比如是否过期,是否撤销。
5. 解析CA站点的DNS。耗时一个RTT。
a) 浏览器获取到证书后,有可能需要发起OCSP或者CRL请求,查询证书状态。
b) 浏览器首先获取证书里的CA域名。
c) 如果没有命中缓存,浏览器需要解析CA域名的DNS。
6. 三次握手建立CA站点的TCP连接。耗时一个RTT。
a) DNS解析到IP后,需要完成三次握手建立TCP连接。
7. 发起OCSP请求,获取响应。耗时一个RTT。
8. 完全握手阶段二,耗时一个RTT及计算时间。
a) 完全握手阶段二主要是密钥协商。
9. 完全握手结束后,浏览器和服务器之间进行应用层(也就是HTTP)数据传输。
当然不是每个请求都需要增加7个RTT才能完成HTTPS首次请求交互。大概只有不到0.01%的请求才有可能需要经历上述步骤,它们需要满足如下条件:
1. 必须是首次请求。即建立TCP连接后发起的第一个请求,该连接上的后续请求都不需要再发生上述行为。
2. 必须要发生完全握手,而正常情况下80%的请求能实现简化握手。
3. 浏览器需要开启OCSP或者CRL功能。Chrome默认关闭了ocsp功能,firefox和IE都默认开启。
4. 浏览器没有命中OCSP缓存。Ocsp一般的更新周期是7天,firefox的查询周期也是7天,也就说是7天中才会发生一次ocsp的查询。
5. 浏览器没有命中CA站点的DNS缓存。只有没命中DNS缓存的情况下才会解析CA的DNS。
2.2 计算耗时增加
上节还只是简单描述了HTTPS关键路径上必须消耗的纯网络耗时,没有包括非常消耗CPU资源的计算耗时,事实上计算耗时也不小(30ms以上),从浏览器和服务器的角度分别介绍一下:
1, 浏览器计算耗时
a) RSA证书签名校验,浏览器需要解密签名,计算证书哈希值。如果有多个证书链,浏览器需要校验多个证书。
b) RSA密钥交换时,需要使用证书公钥加密premaster。耗时比较小,但如果手机性能比较差,可能也需要1ms的时间。
c) ECC密钥交换时,需要计算椭圆曲线的公私钥。
d) ECC密钥交换时,需要使用证书公钥解密获取服务端发过来的ECC公钥。
e) ECC密钥交换时,需要根据服务端公钥计算master key。
f) 应用层数据对称加解密。
g) 应用层数据一致性校验。
2, 服务端计算耗时
a) RSA密钥交换时需要使用证书私钥解密premaster。这个过程非常消耗性能。
b) ECC密钥交换时,需要计算椭圆曲线的公私钥。
c) ECC密钥交换时,需要使用证书私钥加密ECC的公钥。
d) ECC密钥交换时,需要根据浏览器公钥计算共享的master key。
e) 应用层数据对称加解密。
f) 应用层数据一致性校验。
由于客户端的CPU和操作系统种类比较多,所以计算耗时不能一概而论。手机端的HTTPS计算会比较消耗性能,单纯计算增加的延迟至少在50ms以上。PC端也会增加至少10ms以上的计算延迟。
服务器的性能一般比较强,但由于RSA证书私钥长度远大于客户端,所以服务端的计算延迟也会在5ms以上。
延伸阅读:
HTTPS=更好的SEO?百度谷歌怎么看?
聊聊HTTPS和SSL/TLS协议
站点采用HTTPS协议的利弊分析、及SEO建议
HTTPS对谷歌百度SEO影响几何、我该用吗?
网站
,
影响
相关帖子
•
草根吧网站自动审核认证处理
•
Discuz!3.2 删除漫游应用插件后网站访问不了 求助
•
[1314]网站横幅广告 PC+手机版(2018.11.5更新) - DZ学习研究交流 · 插件 专业1314
•
杰奇小说有锦尚授权怎么搞?
•
[1314]网站横幅广告 PC+手机版(2018.11.18更新) - DZ学习研究交流 · 插件 专业PJ
•
Discuz! https网站协议判断加强调用
•
[1314]网站横幅广告 PC+手机版(2018.12.03更新) - DZ学习研究交流 · 插件 1314开源
•
我的网站认证怎么取消了
•
招商加盟网站整站源码,仿28商机网最新源码,小吃加盟,创业加盟网站源码,discuz内核
•
GBK编码网站转UTF-8编码手工转码参考教程
回复
关闭延时
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
高端源码
Discuz应用插件
签到处
站长帮
接受任务
网站源码【不限制会员】
软件工具
链接互换
微擎微赞资源
公益(ViP)∷正版资源∷专区
小黑屋
|
手机版
|
草根吧