简单介绍HTTPS与HTTP的区别
简单介绍HTTPS与HTTP的区别
简单介绍HTTPS与HTTP的区别一、HTTP和HTTPS的基本概念
1、HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
2、HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
3、HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。
二、HTTP 的安全风险
1、隐私泄露
由于 HTTP 本身是明文传输,用户和服务端之间的传输内容都能被中间者查看。也就是说 你在网上搜索、购物、访问的网点、点击的页面等信息,都可以被「中间人」获取。
2、页面劫持
隐私泄露的风险比较隐蔽,用户基本感知不到。但另外一类劫持的影响就非常明显非常直接了——页面劫持,也就是直接篡改用户的浏览页面。
三、HTTP劫持分类
根据劫持路径分类:DNS 劫持、客户端劫持、链路劫持。
如图
四、HTTPS与Web服务器通信时的几个步骤
1、客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
2、Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
3、客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
4、客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
5、Web服务器利用自己的私钥解密出会话密钥。
6、Web服务器利用会话密钥加密与客户端之间的通信。
如图
五、HTTPS的优点
1、身份认证
使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器
2、内容加密——防窃听
HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取。
3、一致性校验——防篡改
通过对数据和共享密钥的 MAC 码来防止中间者篡改消息内容,确保数据的一致性。
4、HTTPS网络传输安全系数相对较高,可以大幅增加中间人攻击的成本。
六、HTTPS的优点
1、慢
(1)、网络耗时
由于协议的规定,必须要进行的网络传输。比如 SSL 完全握手,302 跳转等。HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电。
(2)、计算耗时
无论是客户端还是服务端,都需要进行对称加解密,协议解析,私钥计算,证书校验等计算,增加大量的计算时间。
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;
3、贵
(1)、服务器成本
HTTPS 的私钥计算会导致服务端性能的急剧下降,甚至不到 HTTP 协议的十分之一,也就是说,如果 HTTP 的性能是 10000cps,HTTPS 的性能可能只有几百 cps,会增加数倍甚至数十倍的服务器成本。
(2)、证书成本
根据证书个数及证书类型,一年可能需要花费几百到几百万不等的证书成本。
(3)、开发和运维成本
HTTPS 协议比较复杂,包括协议的配置,证书的更新,过期监控,客户端的兼容等一系列问题都需要具备专业背景的技术人员跟进处理。
七、HTTPS和HTTP的主要区别
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
- nginx+ssl配置详解(nginx配置ssl实现https的方法示例)
- docker配置https访问方式(docker 中配置 eureka的方法)
- ssl服务器搭建的步骤(windows apache环境下部署SSL证书让网站支持https的配置方法)
- nginx 配置https(Nginx下配置Https证书详细过程)
- nginx配置https转发规则(Nginx配置https原理及实现过程详解)
- 宝塔面板安装ssl证书(宝塔面板如何配置https?BT宝塔设置SSL证书图文教程)
- 内网nginx配置https详解(Nginx如何配置Http、Https、WS、WSS的方法步骤)
- nginx怎么支持http转https(Nginx域名转发https访问的实现)
- ci框架怎样修改为https协议(CI框架教程之优化验证码机制详解验证码辅助函数)
- nginxssl证书怎么设置(nginx结合openssl实现https的方法)
- nginx中https配置(Nginx配置同一个域名同时支持http与https两种方式访问实现)
- nginxhttp转https原理(nginx如何将http访问的网站改成https访问)
- nginx把https转为http请求(使用nginx方式实现http转换为https的示例代码)
- nginx 配置强制跳转https(Nginx实现https网站配置代码实例)
- ssl专用安全协议(网站启用https后的SSL的安全配置和检测)
- 简单介绍HTTPS与HTTP的区别
- 19号线二期全线电通 轨道交通项目最新进展来了(19号线二期全线电通)
- 涉及3条地铁线路 成都这4座轨道交通站点有新名字了(涉及3条地铁线路)
- 来了 成都轨道交通5条线路刷新 进度条(成都轨道交通5条线路刷新)
- 一部手机两套系统 OPPO Find X3的正确打开方式你知道吗(一部手机两套系统)
- OPPO用户看过来 汇总几个春节实用技巧,轻松搞定多设备联动玩法(汇总几个春节实用技巧)
- 北京旅游攻略(北京旅游攻略5日游及其花费)
热门推荐
- SQLServer数据库从高版本降级到低版本实例详解(SQLServer数据库从高版本降级到低版本实例详解)
- laravelblade界面(laravel5.1框架基础之Blade模板继承简单使用方法分析)
- 云服务器和普通服务器有什么区别(云服务器是什么?云服务器是如何工作的?)
- mysql8.0.18.0安装详细教程(mysql 8.0.22 下载安装配置方法图文教程)
- 云服务器的使用技术(云服务器运行如何实现的原理)
- 自定义ui组件的三个重要方法(AmazeUI 面板的实现示例)
- python多线程有两个参数怎么传(python从子线程中获得返回值的方法)
- dockerrun执行脚本(docker run和start的区别说明)
- dedecms添加广告栏(织梦DedeCMS v5.7 完美实现导航条下拉菜单的方法)
- mysql索引失效原因(MySQL索引失效的几种情况详析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9