今天我们来看看HTTP和HTTPS连接耗时对比。
HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的,可进行加密传输、身份认证的网络协议,要比HTTP协议安全。
正如上面的引用所说,HTTPS可以认为是HTTP的安全版。那么现在来引入我们这次聊的主题:
HTTPS安全性更高,但HTTP效率更高。
OK,那现在我们就需要数据佐证了,下面的结果可以很好地证明HTTP在效率上是高于HTTPS的,因为HTTPS比HTTP多了SSL过程:
从结果来看,HTTP和HTTPS的TCP连接时间是差不多的,为0.031和0.032,但是HTTPS的SSL过程耗时达到了0.182,差不多是TCP连接时间的6倍。(测试环境采用256位证书)
所谓鱼和熊掌不能兼得,在安全性要求不高的场合,为了提高网页性能,建议采用HTTP连接或者不要采用保密强度很高的数字证书。
下面是附赠的对于curl的-w参数的一点小介绍:
time_connect连接时间,从开始到建立TCP连接完成所用时间,包括前边DNS解析时间,如果需要单纯的得到连接时间,用这个time_connect时间减去前边time_namelookup时间。以下同理,不再赘述。(The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed.)
time_appconnect连接建立完成时间,如SSL/SSH等建立连接或者完成三次握手时间。(The time, in seconds, it took from the start until the SSL/SSH/etc connect/handshake to the remote host was completed. (Added in 7.19.0))