HTTP和HTTPS的区别

Yang 最新问题 176

HTTP和HTTPS的主要区别:1、安全性的区别;2、端口的区别;3、连接方式的区别;HTTP协议传输的数据都是未加密的,因此使用HTTP协议传输的数据可以被任何抓包工具截获。HTTPS是由SSL+HTTP协议构建的可进行加密传输,更为安全。

一、安全性的区别

HTTP(超文本传输协议):HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输的数据可以被任何抓包工具截获,如果传输的是用户敏感信息,很可能会被第三方获取。

HTTPS(超文本传输安全协议):HTTPS是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,更为安全。使用HTTPS,数据在传输过程中会进行加密,即使数据被截获,由于其是密文,也无法读悉。

二、端口的区别

HTTP:HTTP的URL由”http://”开头,使用的是80端口。

HTTPS:HTTPS的URL由”https://”开头,使用的是443端口。

三、连接方式的区别

HTTP:HTTP协议是无状态的,每次连接后不会保留任何信息。

HTTPS:HTTPS协议是有SSL+HTTP构建的可进行加密传输、身份认证的网络协议,较之HTTP协议更为安全。


延伸阅读

HTTPS的加密过程

(1)客户端发起HTTPS请求:这个过程其实就是用户在浏览器里输入一个https网址,然后连接到服务器的443端口。

(2)服务器的配置:采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司颁发的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥。

(3)传送证书:这个证书其实就是公钥,只是包含了很多信息,如证书的颁发机构,过期时间等等。

(4)客户端解析证书:这部分工作是有用户的浏览器完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密。

(5)传送加密信息:这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。

(6)服务器解密信息:服务端用私钥解密后,得到了客户端传过来的随机值(私钥和公钥是一对,所以可以用私钥解密公钥加密的内容),然后把内容通过该值进行对称加密。

(7)传送加密后的信息:这部分信息是服务端用私钥加密后的信息,可以在客户端被还原。

(8)客户端解密信息:客户端用之前生成的私钥解密服务端传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也无法解密。

 

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部