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协议安全。

欢迎关注我的公众号(同步更新文章)DoNet技术分享平台

阅读原文

关于HTTP和HTTPS的区别相关推荐

  1. http和https的区别 与 SSL/TLS协议运行机制的概述

    http和https的区别 与 SSL/TLS协议运行机制的概述 参考1 1 http 是不使用的SSL/TSL的通信通道 窃听风险:第三方获取通信内容 篡改风险:修改通信内容 冒充风险:冒充他人身份 ...

  2. http与https的区别,http 1.0与1.1的区别

    Http与Https的区别: HTTP 的URL 以http:// 开头,而HTTPS 的URL 以https:// 开头 HTTP 是不安全的,而 HTTPS 是安全的 HTTP 标准端口是80 , ...

  3. 前端面试http和https的区别

    作为一名前端"代码猿"在面试的时候竞猜或问道: 面试官:"tcp/ip协议分为几层?" 面试官:"tcp握手三次建立建立过程?" 面试官:& ...

  4. JavaSE(二十五)——String与StringBuffer、StringBuilder的区别、创建对象的几种方法、Http和Https的区别

    文章目录 1. String与StringBuffer.StringBuilder的区别 2. Java创建对象的几种方法 3. Http和Https的区别 1. String与StringBuffe ...

  5. 请说明一下http和https的区别

    请说明一下http和https的区别 https协议需要申请证书到CA,需要一定经济成本 http是明文传输,https是加密的安全传输 连接的端口不一样,http是80,https是443 http ...

  6. 【建议收藏】HTTP与HTTPS的区别

    HTTP与HTTPS的区别 1.HTTP协议的缺陷 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了W ...

  7. HTTP和HTTPS的区别(转)

    原文链接:HTTP和HTTPS的区别 HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议  它是一个安全通信通道,它基于HTTP开发,用于在客户计算机 ...

  8. 详解http和https的区别

    详解http和https的区别 (转自http://www.jzxue.com/jianzhanzhinan/jianzhanrumen/201103/29-6925.html) http与https ...

  9. HTTP协议工作原理(与HTTPS的区别)

    HTTP是超文本传输协议,由请求和响应构成,HTTP协议永远都是客户端发起请求,服务端回送响应 HTTP协议工作原理 首先,DNS会解析域名获取IP地址 而后TCP通过三次握手建立链接 建立链接后客户 ...

  10. HTTP协议与HTTPS的区别

    permike 原文 HTTP协议与HTTPS的区别 HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. HTTP是在七层网络模型中的应用层的协议,由发送请求和接受响应构成, ...

最新文章

  1. 网站假设php,PHP个人网站架设连环讲(一)
  2. flink实时机器学习-alink在线机器学习remote模式贝叶斯建模实验记录
  3. javascript焦点图(能够自己主动切换 )
  4. Linux发展历史图
  5. 机器学习:LibSVM与weka在eclipse中的使用
  6. Javascript:Ajax讲解
  7. VMware12安装虚拟机教程、Ubuntu16.04安装教程
  8. dotNet基于office实现word转pdf
  9. 浅谈博客、微博与轻博客的区别与联系
  10. 流程制造行业信息系统 架构
  11. android高仿股票源码,StockChart 自定义股票行情图,高仿某币 app 行情图 @codeKK Android开源站...
  12. IC卡和ID卡的区别
  13. 创建微服务架构的步骤_如何快速搭建一个微服务架构?
  14. 最本质的相机内参intrinsics与外参extrinsics分析,从建模,推导到求解
  15. VueCli3以下获取process.env.NODE_ENV数据
  16. 感恩,生命的馈赠(2014年终总结)
  17. python 计算GPA
  18. 穆利堂[推荐] WxPM信息化整体解决方案-河南郑州房地产工程项目管理系统软件 穆穆-movno1
  19. 大数据技术之Clickhouse
  20. 数据库系统,数据库,数据库管理系统

热门文章

  1. linux下socket连接下的心跳机制
  2. HALCON示例程序inspect_bottle_mouth.hdev玻璃瓶口缺陷检测
  3. 深入理解C++对象模型-对象的内存布局,vptr,vtable
  4. 机器学习——人工神经网络之多层神经网络(多层与三层)
  5. 人工智能数学基础知识
  6. 怎么把word转换pdf,pdf转换word ,pdf转换成高清图片
  7. 嵊州职教中心计算机多少分数,嵊州中考考试分数线
  8. epub 机器人系列 阿西莫夫_艾萨克·阿西莫夫是不是穿越来的,他怎么能那么准地预言机器人,互联网技术呢?...
  9. java中long类型转换为int类型
  10. 在Bootstrap开发框架中使用bootstrap-datepicker插件