文章目录

  • 前言
  • Https是什么?
    • 什么是SSL
  • 重要的相关概念
    • 1.对称加密
    • 2.非对称加密
    • 3.消息摘要
    • 4. 数字签名
    • 5.数字证书
  • HTTPS 请求流程
  • HTTP和HTTPS的区别
  • 总结
  • 写在最后

前言

在平时工作和日常生活中, “https=安全”这样的观点在大多数人的思维中根深蒂固,甚至很多人根本不认为自己会被攻击。那这个观点到底对不对呢?那么请带的这个问题看下面的内容,让你对Https纠结解决哪些方面的问题,而它区别于http究竟有何变化

Https是什么?

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL 。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层。

什么是SSL

SSL对传输的数据进行加密,使第三方无法“窃听”传输并查看正在传输的数据,只有用户的计算机和服务器能够识别数据。

SSL将您的姓名、地址和信用卡信息保存在您与提供这些信息的商户之间。如果没有这种加密,网上购物时,个人信息可能会被第三放窃取。当您访问一个以“https”开头的Web地址时,“http”后面的“s”表示该网站是安全的,这些网站经常使用SSL证书来验证其真实性。

重要的相关概念

1.对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
简单来说就是 对明文信息加密解决都用一个钥匙来完成(不安全的,但是效率较高于非对称加密)

2.非对称加密

非对称加密算法需要两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。 非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方想要回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理,乙方使用自己的私钥来进行解密。
另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验签。
甲方只能用其私钥解密由其公钥加密后的任何信息。 非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
非对称密码体制的特点:算法强度复杂、安全性依赖于算法与密钥但是由于其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就可以不需要像对称密码那样传输对方的密钥了。这样安全性就大了很多。

3.消息摘要

将一段明文信息通过哈希算法生成一段密文信息(不可逆)称为消息摘要

4. 数字签名

对消息摘要的信息 进行CA秘钥加密,生成的内容称为数字签名

5.数字证书

数字签名+服务端的公钥和一些其他信息(当前证书的过期时间,办法机构之类的信息) 组成发送给客户端的内容就是数字证书

HTTPS 请求流程

HTTP和HTTPS的区别

HTTP和HTTPS的区别
到现在为止,我们就比较清楚HTTPS和HTTP的区别;借用比较规范的回答就是下面几点。
HTTPS和HTTP的区别主要如下:
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTPS提高了安全性,但其他方面就不如HTTP了
1、因为HTTPS要保证安全,所以HTTPS协议握手阶段比较费时,会消耗更多的CPU
2、HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗。
3、SSL证书需要钱,功能越强大的证书费用越高。
4、SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。
5、HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。

总结

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

写在最后

欢迎关注我的微信公众号 【猿之村】
来聊聊Java面试
加我的微信进一步交流和学习,微信手动搜索
【codeyuanzhicunup】添加即可
如有相关技术问题欢迎留言探讨,公众号主要用于技术分享,包括常见面试题剖析、以及源码解读、微服务框架、技术热点等。

史上最全的Https讲解相关推荐

  1. 史上最全电子元器件知识讲解

    史上最全电子元器件知识讲解 2016-05-10 半导体行业观察 芯榜(IC行业排行榜) 芯榜 - IC服务平台,用数据读懂芯片业. 转载于:https://www.cnblogs.com/sunny ...

  2. 史上最全ajax全套讲解

    博客好久没有更新文章,主要最近在做一个聊天的功能,虽然不是很尽人意,但是最起码实现了功能.其中里面用到最多的就是数据交互问题了.所以ajax自然是最好的选择了. 话说我从没有有系统的学习Ajax过,每 ...

  3. 史上最全的ECharts讲解与使用

    首先搞清楚,什么是ECharts? ECharts,一个使用 JavaScript 实现的开源可视化库. ECharts支持数据类型 支持直接传入包括二维表,key-value 等多种格式的数据源.常 ...

  4. FastJson小技巧——@JSONField的史上最全最详细讲解——一看就会

    常见:使用fastjson进行需要对字段进行一些特殊处理,比如时间格式,前后端名字不一致,字段为null是否依然序列化等问题.那么fastjson的@JSONField就能很好的解决这些问题. @JS ...

  5. 史上最全换档讲解手动档汽车的换挡技巧

    转个东东给大家看看,关于换档的. 在网上已有很多讨论,涉及到的方面也林林总总.归纳一下的话,我觉得不外乎可以分为两 大类,一是换挡时机,即何时加档何时减档:二是换挡本身的操作,包括换挡时油门离合器的配 ...

  6. 史上最全八大排序讲解时间复杂度篇(0基础都能看懂)

    1.冒泡排序 冒泡排序的基本原理 对存放原始数组的数据,按照从前往后的方向进行多次扫描,每次扫描都称为一趟.当发现相邻两个数据的大小次序不符合时,即将这两个数据进行互换,如果从小大小排序,这时较小的数 ...

  7. 史上最全SurfaceView使用讲解

    SurfaceView 与 View 的区别 1.View主要适用于主动更新的情况下,而SurfaceView主要适用于被动更新,例如频繁地刷新. 2.View 在主线程中对画面进行刷新,而 Surf ...

  8. 人脸识别0-03:insightFace-测试集数据制作-史上最全

    以下链接是个人关于insightFace所有见解,如有错误欢迎大家指出,我会第一时间纠正,如有兴趣可以加QQ:17575010159 相互讨论技术. 人脸识别0-00:insightFace目录:ht ...

  9. JVM 逃逸分析 (史上最全)

    对于JVM"逃逸分析" 特性,也是近年来大厂面试.高薪面试的常见面试题. 和逃逸分析有关的常见面试题: Java中的对象一定是在堆上分配的吗? 注:本文以 PDF 持续更新,最新尼 ...

最新文章

  1. opencv 线性滤波器
  2. Eureka集群部署
  3. windows同时安装python2和3编码_Windows同时安装多个版本,python2和python3,window
  4. 【做题记录】[SCOI2009]围豆豆
  5. sscanf用法详解-hdu2072
  6. STM32串口通信中使用printf发送数据配置方法 开发环境 Keil
  7. 贪婪算法在求解最小生成树中的应用(JAVA)--Kruskal算法
  8. 飞鸽传书官方网站 2012 最新源码公开
  9. qq语音按住ctrl就静音怎么解决_干货!PS超实用去水印方法汇总(图文教程),可解决99%水印烦恼...
  10. Iphone开发Interface Builder出现Assertion Failure错误
  11. 初识Hadoop(核心组件与应用)
  12. 最好用的屏幕分辨率修改器:SwitchResX for Mac
  13. 单片机实验报告太原理工大学_太原理工大学单片机实验报告
  14. 霍志刚中国科学院计算机,曙光4000系列高性能计算机研究集体
  15. 如何构建用户满意的“服务化”数据平台
  16. 米兔机器人魔方_米兔卡片学习机首晒
  17. Delphi/C#之父Anders Hejlsberg
  18. Scilab学习心得
  19. Android应用本地离线激活认证方案—so文件授权认证
  20. list和数组间的相互转换(Java)

热门文章

  1. 汉文SEO大牛教你如何创建网站地图-seo必修课
  2. IFBOT-凯焰X 重新定义便携式光伏清扫机器人
  3. 播仔| 分享一套很实用的「扎心表情包」,请叫我红领巾...
  4. Java技巧: 根据网址/域名查询DNS/IP地址
  5. 【matcovnet学习笔记】objective,top1error,top5error详解
  6. 药房连锁门店-亿云发数字媒体应用解决方案
  7. Boosted Tree原理详解
  8. 保证睡眠质量是造就完美人生的基础
  9. ubuntu换内核 reboot后,开机进入busybox,root=UUID=(一串数字),tyy命令行无图形界面,问题解决方案(使用grub的设置)
  10. android studio 的add as library选项在哪