据说,Netscape公司当年设计SSL协议的时候,有人提过,将互联网所有链接都变成HTTPs开头的加密链接。

这个建议没有得到采纳,原因之一是HTTPs链接比不加密的HTTP链接慢很多。(另一个原因好像是,HTTPs链接默认不能缓存。)

自从我知道这个掌故以后,脑袋中就有一个观念:HTTPs链接很慢。但是,它到底有多慢,我并没有一个精确的概念。直到今天我从一篇文章中,学到了测量HTTPs链接耗时的方法。

首先我解释一下,为什么HTTPs链接比较慢。

HTTPs链接和HTTP链接都建立在TCP协议之上。HTTP链接比较单纯,使用三个握手数据包建立连接之后,就可以发送内容数据了。

上图中,客户端首先发送SYN数据包,然后服务器发送SYN+ACK数据包,最后客户端发送ACK数据包,接下来就可以发送内容了。这三个数据包的发送过程,叫做TCP握手。

再来看HTTPs链接,它也采用TCP协议发送数据,所以它也需要上面的这三步握手过程。而且,在这三步结束以后,它还有一个SSL握手。

总结一下,就是下面这两个式子。

HTTP耗时 = TCP握手

HTTPs耗时 = TCP握手 + SSL握手

所以,HTTPs肯定比HTTP耗时,这就叫SSL延迟。

命令行工具curl有一个w参数,可以用来测量TCP握手和SSL握手的具体耗时,以访问支付宝为例。

$ curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com TCP handshake: 0.022, SSL handshake: 0.064 

上面命令中的w参数表示指定输出格式,time_connect变量表示TCP握手的耗时,time_appconnect变量表示SSL握手的耗时(更多变量请查看文档和实例),s参数和o参数用来关闭标准输出。

从运行结果可以看到,SSL握手的耗时(64毫秒)大概是TCP握手(22毫秒)的三倍。也就是说,在建立连接的阶段,HTTPs链接比HTTP链接要长3倍的时间,具体数字取决于CPU的快慢和网络状况。

所以,如果是对安全性要求不高的场合,为了提高网页性能,建议不要采用保密强度很高的数字证书。一般场合下,1024位的证书已经足够了,2048位和4096位的证书将进一步延长SSL握手的耗时。

OpenSSL详解(使用及解释):http://www.ibm.com/developerworks/cn/linux/l-openssl.html

转载于:https://www.cnblogs.com/wfwenchao/p/5498008.html

SSL延迟有多大 (Https)相关推荐

  1. SSL 延迟与 Http、Https

    SSL延迟有多大? 1. 基本概念 ssl 协议由网景公司(Netscape)设计,由此网络链接从 http 逐步走向更为安全的 https 加密链接模式. HTTPs 链接和 HTTP 链接都建立在 ...

  2. 安装SSL证书后不能访问https网站怎么办

    很多朋友在安装配置完SSL证书后不能访问https网站,搞不清楚问题出在哪里,更不知道如何解决.下面就以nginx配置SSL证书为例,来讲一下安装SSL证书后不能访问的解决方法. 1.确保可以以htt ...

  3. dnf服务器延迟怎么看,DNF:团本服务器再度瘫痪,出现拥挤“假象”,延迟十分的大!...

    原标题:DNF:团本服务器再度瘫痪,出现拥挤"假象",延迟十分的大! 最近的一次大更新,让团本的服务器再度的瘫痪,每当到晚上的时候,会出现一个"假象",各种频道 ...

  4. 沃通SSL精灵,让网站HTTPS永不过期

    告别HTTP明文"裸奔"时代 百度.阿里巴巴.必应等越来越多的互联网巨头相继启用全站HTTPS加密,保护用户数据和隐私安全,逐步告别HTTP明文"裸奔"时代.受 ...

  5. 沃通SSL精灵,让站点HTTPS永只是期

    告别HTTP明文"裸奔"时代 百度.阿里巴巴.必应等越来越多的互联网巨头相继启用全站HTTPS加密,保护用户数据和隐私安全.逐步告别HTTP明文"裸奔"时代. ...

  6. 【解决】Requests库的SSL警告:InsecureRequestWarning: Unverified HTTPS request is being made.

    Requests库的SSL警告:InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate v ...

  7. SSL卸载(ssl offloading)技术对于HTTPS应用的优化与思考

    迅猛发展的互联网为我们提供了丰富的信息资源,在带来便利的同时也影响着人们工作和生活方式.而让我们无法忽视的是,在开放的互联网所带来的繁荣背后,同时也潜藏着安全方面的隐患.随着人们对网络的依赖愈渐加深, ...

  8. SSL For Free 申请免费https SSL 凭证

    打开 SSL For Free网站(https://www.sslforfree.com) ,在输入框中填入你要申请 Let's Encrypt 凭证的网域名称,可以用空白来分隔不同的网址,例如[su ...

  9. SSL协议、HTTP和HTTPS和区别

    SSL协议 SLL协议的握手过程 开始加密通信之前,客户端和服务器首先必须建立连接和交换参数,这个过程叫做握手(handshake). 第一步,客户端给出协议版本号.一个客户端生成的随机数(Clien ...

最新文章

  1. Java 求分段函数g(x)的值
  2. java-String类
  3. ZZULIOJ 1109: 数根(函数专题)
  4. 深度学习这么调参训练_深度学习训练的小技巧,调参经验(转)
  5. 乐视轰然倒塌;智能驾驶上路;360回归A股 | 2017年度科技大事件盘点
  6. BZOJ(1) 1003 [ZJOI2006]物流运输
  7. python实现图片拼接长图_用Python实现长截图拼接
  8. “微积分7天搞定”学习记录
  9. 精神污染图制作(matlab代码)
  10. OSPF ASBR及4类LSA研究
  11. 【Word】如何设置交叉引用标注参考文献与设置上标
  12. 浅谈:支付结算系统的重要性
  13. Proteus 新手使用教程
  14. AddressSanitizer使用介绍
  15. 2021建筑施工电工(建筑特种作业)机考题库及建筑电工模拟试题
  16. web前端入门到实战:实现图形验证码
  17. 毕业设计论文参考文献排版格式难题word字符间距变大了。
  18. 无线通信中的轨道角动量
  19. Vue input控制输入内容(整数,小数,带有符号的数字)
  20. 红帽RHCE培训-课程1笔记内容

热门文章

  1. 温度测量系统流程图_土壤温度和水分含量是如何调控城市草坪土壤N2O通量的?——来自LICOR土壤温室气体通量长期监测系统14个月的测量数据...
  2. basler相机 ip linux,Linux环境中连接Basler相机(Pylon软件的安装),ROS环境中连接Basler相机...
  3. java 消息传递示例_java actor模型和消息传递简单示例
  4. springboot yaml/yml配置文件字符串换行
  5. linux终端xwindow,如何从命令行重新启动X Window Server?
  6. php网站后台密码加密,thinkphp 后台登陆密码加密传入密钥
  7. 综艺节目php灭灯_非诚勿扰php程序员 结果遭女嘉宾瞬间全灭灯
  8. idea springmvc_IDEA搭建SSM(spring+springmvc+mybatis)Maven项目的入门案例
  9. python中lambda函数_python中的lambda函数用法
  10. java对象赋值_Java 对象不使用时为什么要赋值为 null?