http和https的区别?
产生背景
HTTP(超文本传输协议)被用于在Web浏览器和网站服务器之间,以明文方式传递信息,不提供任何方式的数据加密,因此使用HTTP协议传输隐私信息(如:银行卡号、密码等支付信息)非常不安全。
为了解决这一安全缺陷,网景公司设计了SSL(Secure Sockets Layer)协议,在HTTP的基础上加入了SSL(Secure Sockets Layer)协议,SSL依靠SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。从而诞生了HTTPS(安全套接字层超文本传输协议)。
简单来说,HTTPS协议="SSL+HTTP协议"构建的可进行加密传输、身份认证的网络协议,是HTTP的安全版。
相同之处
大多情况下,HTTP和HTTPS是相同的,因为都是采用同一个基础的协议,作为HTTP或HTTPS客户端(浏览器),设立一个连接到Web服务器指定的端口。当服务器接收到请求,它会返回一个状态码以及消息,这个回应可能是请求信息、或者指示某个错误发送的错误信息。系统使用统一资源定位器 URI 模式,因此资源可以被唯一指定。整个过程中,唯一不同的只是一个协议头(HTTPS)的说明,其他都是一样的。
不同之处
HTTPS和HTTP的区别主要如下:
工作层:在OSI网络模型中,HTTP工作于应用层,而HTTPS工作在传输层。
连接端口:HTTP标准端口是80,而HTTPS的标准端口是443。
传输方式:HTTP是超文本传输协议,信息是明文传输,而HTTPS是SSL加密传输协议。
工作耗时:HTTP耗时=TCP握手,而HTTPS耗时=TCP握手+SSL握手。
显示形式:HTTP的URL以http://开头,而HTTPS的URL以https://开头。
费用:HTTP无需费用,而HTTPS需要到CA申请证书,一般免费证书较少,需要一定费用。
安全性:HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。
HTTPS的优点
尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个有点:
使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;
HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。
谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。
http | VS | https |
明文传输,网站或相关服务与用户之间的数据交互无加密,极易被监听,破解甚至篡改。 | 传输方式 |
在 HTTP 下加入了 SSL 层,是数据传输变成加密模式,从而保护了交换数据隐私和完整性,简单来说它就是安全版的 HTTP。 |
无任何身份认证,用户无法通过http辨认出网站的真实身份。 | 身份认证 | 经过CA多重认证,包括域名管理权限认证,单位身份合法性确认等。EV证书甚至可以直接在浏览器地址栏显示单位名称,提升用户体验。 |
无任何使用成本,所有网站默认即 http 模式。 | 实现成本 | 需要申请SSL证书来实现https,价格几百元到上万元不等 |
80端口 | 连接端口 | 443端口 |
提示网站不安全:
当您的网站上有类似注册登陆等表单时,用户一旦进行输入,Chrome浏览器便红色高亮显示“不安全”:
|
浏览器 兼容性 |
提示网站连接是安全的:
当您申请的是“EVSSL证书”时,浏览器地址栏会直接显示您的单位名称,可显著提升网站用户的信任度和单位形象:
|
对http网站无任何优待。 | SEO优化 | 百度谷歌等官方声明提高 https 网站的排名权重。 |
极易被黑客或者恶意的同行进行流量劫持。 | 网站劫持 |
隐私信息加密,防止流量劫持 |
访问速度根据网站服务器配置和客户端的浏览环境而定。 | 访问速度 |
在同样配置的服务器以及客户端浏览环境下,可明显提高网页加载速度。 |
当网站需要与第三方平台进行对接时,通常不接受http这种连接。例如微信小程序,苹果ATS,抖音上做广告等等。 | 数据对接 | 微信小程序,抖音,苹果等等越来越多的平台只接受https这种加密的安全链接。 |
经常因为没有https,而被各个浏览器或者其他平台显示风险警告,导致损害用户的信任度。 | 网站形象 | 为网站的用户营造安全的浏览环境,是网站的基本责任,也是赢得用户信赖的一个重要因素。 |
无任何风险保障,当网站数据传输被截取导致重大损失时,只有网站运营者自己承担。 | 风险保障 | 拥有10万-175万美元的商业保险,当网站数据传输被破解时,有巨额的保障额度。 |