HTTPS相比HTTP消耗资源更多吗?

杂文HTTP,HTTPS,SSL,TCP

HTTP
也叫超文本传输协议(HyperText Transfer Protocol)是现今互联网应用最广泛的一种网络协议。
HTTP工作过程可分为四步:
首先是客户机与服务器建立连接,在你单击某个超链接时候http就开始工作了。
建立连接后,客户机给服务器发送一个请求,这个请求包括:统一资源标识符(URL)、协议版本号、MIME信息请求修饰符、客户机信息和可能的内容。
服务器接收到请求后,给予相应的响应信息,包括协议版本号、成功或错误的代码、MIME信息服务器信息、实体信息和可能的内容。
客户机接收到服务器所返回的信息后通过浏览器显示在客户机显示屏,然后客户机和服务器断开连接。
如果上述过程出现错误,那么所产生的错误信息将返回到客户端,显示屏输出错误信息。
SSL
SSL安全套接层(Secure Sockets Layer)和其继任者TLS传输层安全(Transport Layer Security)是为网络通信提供安全以及数据完整性的一种安全协议。TLS和SSL在传输层对网络连接进行加密。
HTTPS
HTTPS也叫超文本传输协议(Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目的的HTTP通道。通过在HTTP下加入SSL层实现。SSL是HTTPS的安全基础,HTTP所有加密的内容都需要SSL。
HTTP和HTTPS的区别
HTTPS协议需要在CA申请证书,大部分都是收费的,目前腾讯和阿里云有免费一年的证书。
HTTP信息是明文传输,未经过加密,HTTPS是使用SSL加密后的HTTP传输协议。
HTTP和HTTPS使用的是不同的连接方式,端口也不一样,HTTP使用80端口HTTPS使用443端口。
HTTP使用TCP三次握手包链连接客户机和服务器需要交换三个包。HTTPS出了TCP的三个握手包还需要加上SSL握手需要的九个包。
HTTP建立连接测试值是114毫秒;HTTPS建立连接测试值是436毫秒。SSL部分花费322毫秒,其中包括网络延时以及SSL本身加密解密的开销。
总体来说HTTPS相比HTTP更消耗处理器资源。这块资源都消耗在了SSL的加密解密上。

双向证书认证的SSL握手过程

 

维基百科:

HTTP(超文本传输协议)

HTTPS(超文本传输安全协议)

SSL(传输层安全协议)

 

Posted by 柴郡猫