【计算机网络】浅析HTTP与HTTPS的区别

版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/84192912

                                     浅析HTTP与HTTPS的区别

一、两者的基本概念

HTTP:全称是HyperText Transfer Protocol,超文本传输协议,为互联网中使用最为广泛的协议。

HTTPS:全称是Hyper Text Transfer Protocol over Secure Socket Layer,安全套接字层超文本传输协议。简单来讲就是就是安全的HTTP,即HTTPS=HTTP+SSL


二、两者的主要区别

【1】端口

(1)HTTP协议默认采用80端口

(2)HTTPS采用443端口


【2】安全性

(1)HTTP协议以明文发送数据,不提供任何方式的加密。因此HTTP协议安全性较差

(2)HTTPS协议使用额外的SSL协议,依靠服务器端发送来的证书来验证服务器身份,并为此次传输加密。即SSL的作用就是身份验证与加密传输。由于HTTPS协议的安全性较高,很多银行网站都采用这种方式进行数据的传输。


【3】连接效率

HTTP与HTTPS建立连接都需要与服务器进行握手,但HTTPS协议在握手阶段的需要做更多的事情,HTTPS需要比HTTP多发SSL的数据包。因此耗时较为严重,页面加载更加慢,耗能增加。


【4】使用成本

SSL证书需要进行申请,功能越强大的证书,费用越高。当然也可以自己制作证书,唯一的区别就是自己制作的证书在首次连接的过程中需要用户确认,用户体验降低。而申请到的证书不需要用户进行确认,由第三方进行担保。


三、HTTPS的身份认证与加密传输的细节

(1)首先客户端发送HTTPS请求到服务端的443端口,服务端返回证书,作为身份凭证,实现身份验证。证书内容包含颁发机构与过期时间等。

(2)客户端解析证书,如果证书过期,客户端弹出警告框,提示证书存在问题。如果证书不存在任何问题后,客户端生成一个随机数,也就是等会作为机密传输的私钥,并用该证书对此随机数进行加密,传输给服务端。

(3)服务端利用对应的私钥对该加密数据进行解密,得到该随机数具体的数值。

(4)在以后数据传输中,客户端与服务端利用此随机数对传输数据进行对称加密,实现加密传输。

猜你喜欢

转载自blog.csdn.net/qq_33591903/article/details/84192912