https比http慢吗?延迟多少?

是的 ,但延迟多少就没有精确地概念了

据说,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}" -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握手的耗时。

(0)

相关推荐

  • 为什么蓝牙耳机打游戏声音有延迟(蓝牙耳机玩游戏声音有延迟怎么办)

    我曾经去过一个客栈叫做"王者荣耀"客栈,在哪里我对Dacom的几款产品进行了测试,分别是我曾经测试过的几款产品针对游戏来一次对比.至于这个对比的地方是一个网咖,也就是买饮料可以免费 ...

  • 苹果airpods有延迟吗(苹果耳机airpods有延迟吗)

    来源:太平洋电脑网配备耳机孔的手机越来越少,蓝牙耳机已经成为大势所趋.然而和传统的有线耳机相比,蓝牙耳机始终存在一些硬伤,例如电量.成本以及延迟!延迟这一点,其实一直被很多人所诟病,用蓝牙耳机看视频影 ...

  • 完美解决QQ收信息延迟等问题

    之前QQ一直有问题,信息延迟什么的搞得QQ客户端根本无法正常使用,很多朋友也反映有此类情况发生,而且各种机型都有类似问题,锁机稍微多些。其他软件都正常使用,就是QQ不能正常使用。也有很多机油说正常使用 ...

  • CL延迟是什么意思

    CL反应时间是衡定内存的另一个标志。CL是CAS Latency的缩写,指的是内存存取数据所需的延迟时间,简单的说,就是内存接到CPU的指令后的反应速度。一般的参数值是2和3两种。数字越小,代表反应所 ...

  • 内存频率和CL延迟哪个重要[解答]

    不一定,这个主要看游戏的内存读写方式决定的,如果游戏的数据多依赖处理器的高速缓存就能解决问题了,那么CL延迟的影响会被降到很低,再或者是列的数据会比较常被存取,那么CL延迟的影响也会比较低。 要形象的 ...

  • 网页地址中http和https的区别全解析

    httsp是什么意思?脚本之家在前面用了一篇文章有介绍过,用户可以去看看这篇文章,因为今天脚本之家所要讲解是http和https有哪些区别?如果你对http和https两个词的定义很模糊的话,那么就比 ...

  • https是什么意思?(安全超文本传输协议)

    在逛论坛的时候发现有网友说到IE打不开HTTPS的情况,在论坛上的留言发现有部分网友说到还不知道什么是HTTPS?那么HTTPS是什么意思?所以脚本之家就在这里跟大家详细讲解HTTP的具体含义。内容如 ...

  • IE浏览器无法打开HTTPS的原因和解决办法

    在IE9下打开https页面的时候总是出现“此网站的安全证书有问题”,点击“继续浏览此网站(不推荐)”始终无法跳转到下一链接,如何才能直接访问https页面呢? 看问题: 1、Windows 7系统+ ...

  • IE7访问https站点故障排除攻略

    Vista系统还是XP系统下的IE7,由于它的安全防范意识有很大提高,对于非法站点和安全加密站点的过滤都比较苛刻,所以在IE7下访问https这种通过SSL协议加密的网站都会出现故障。 IE7浏览器是 ...