Java Web 实战 20 - HTTP PK HTTPS ? HTTPS 大获全胜 ?

news2024/11/16 0:01:48

HTTP VS HTTPS

  • 一 . HTTPS
    • 1.1 臭名昭著的运营商劫持
    • 1.2 加密是什么 ?
    • 1.3 HTTPS 的加密过程
      • 对称加密
      • 非对称加密
      • 引入 "证书" 机制
    • 1.4 HTTP VS HTTPS

Hello , 大家好 , 好久没有更新 JavaWeb 模块的内容了 .
博主这篇文章主要给大家讲解一下 HTTPS 以及与 HTTP 的区别
那接下来的知识点无疑都是面试重灾区 , 举几个常见例子
HTTP / HTTPS : HTTPS 加密的过程
Servlet : Cookie 和 Session 的区别
Linux : 常见的 Linux 指令
JVM : JVM 内存区域划分、垃圾回收机制、双亲委派模型
那希望大家跟紧步伐 , 站稳脚跟 !
在这里插入图片描述
大家也可以订阅 JavaWeb 专栏 , 点击即可跳转
准备好 , 我们要开始发车了 !

一 . HTTPS

HTTPS 和 HTTP 相比 , 只是多了一个 “加密层”
HTTP 传输数据都是明文传输的 , 很容易被别人获取或篡改

1.1 臭名昭著的运营商劫持

这种不属于该页面的弹窗广告 , 就是运营商劫持

或者像这样 , 要下载天天动听 , 结果自动下载了 QQ 浏览器 , 也是运营商劫持
image.png
这种运营商劫持在以前是非常猖狂的
由于我们通过网络传输的任何的数据包都会经过运营商的网络设备 (路由器 , 交换机等) , 那么运营商的网络设备就可以解析出你传输的数据内容 , 然后进行篡改.
正常情况下点击 “下载按钮” , 其实就是在给服务器发送了一个 HTTP 请求 , 获取到的 HTTP 响应其实就包含了该 APP 的下载链接 . 运营商劫持之后 , 就发现这个请求是要下载天天动听 , 那么就自动的把交给用户的响应给篡改成 “QQ浏览器” 的下载地址了 .
image.png
互联网上其实是非常不安全的 , 你觉得你没遇到过这些事 , 但其实你可能已经中招了

  1. 你的电脑这边没啥值钱的东西 , 没人盯着你
  2. 你的电脑其实已经中招 , 你不知道
  3. 你的电脑的杀毒软件 / 防火墙把你保护的很好

之后买了云服务器之后 , 感受就更加明显了
image.png

那既然运营商能够进行劫持 , 黑客也肯定能进行劫持咱们的数据
比如 , 黑客黑入了某个路由器 , 这个时候就可能获取到所有经过路由器的网络数据报

  1. 运营商路由器可能会受到攻击
  2. 公共场合的 wifi 也是活靶子

此时如果你继续在网络上按照明文传输信息 , 你的账号密码就要被窃取了
如何保证数据不被窃取呢 ?
无法阻止黑客入侵路由器 , 但是可以想办法对数据进行加密 , 即使被窃取 , 他也不知道是啥意思

1.2 加密是什么 ?

例子来源于这篇文章 : https://mp.weixin.qq.com/s/OkDstEG5Fu9QhNU65tgBeQ

小学上课的时候,都传过小纸条吧?传纸条的时候每个拿到纸条的同学都会忍不住看一眼,毫无隐私可言
假设班花想对我表白,又不想在传的过程中让别人发现她的情意绵绵。
就会在课间十分钟里告诉我,“每个字母向左移动一位,就是我想对你说的话”。
然后在上课的时候,递出纸条,上面写了 eb tib cj。每个帮助传递纸条的同学看了之后,都暗骂“谜语人,你给我滚出哥谭镇”。
嘿嘿,你们不懂,我懂。
我拿到纸条后,将每个字母向左移动一位,得到 da sha bi。
什么话,这是什么话。
坏女人想要毁我向道之心?我果断拒绝了她的表白。

现在回忆起来,感动之余,会发现,像这种,将一段大家看得懂的信息(明文)转换为另一段大家看不懂的信息(密文),其实就是加密
像这种“左移”的加密方法,其实就是所谓的秘钥(密钥)
而这种加密和解密用的都是同一个秘钥的加密形式,就叫对称加密。

对称加密
那既然有对称加密,那就有非对称加密
不同点在于,非对称加密,加密和解密用到的不是同一个秘钥,而是两个不一样的秘钥,分别是公钥和私钥

非对称加密

密钥是用来 “加密” 和 “解密” 的关键数据
明文通过密钥变成密文这个过程就是"加密" , 密文通过密钥变成明文这个过程就是"解密"
如果加密和解密过程中 , 使用的密钥是同一个就叫做 : “对称加密”
如果加密和解密过程中 , 使用的是不同的密钥 , 就叫做 : “非对称加密”

1.3 HTTPS 的加密过程

对称加密

加密中最典型的办法 , 就是对称加密
加密和解密使用的是同一个密钥

image.png

非对称加密

如果加密和解密过程中 , 使用的是不同的密钥 , 就叫做 : “非对称加密”
非对称加密用来加密解密的密钥是一对有关联的整数 (通过数学上面的一些方法来生成的)

拿两个很大的素数 , 很容易得到乘积 , 但是知道乘积 , 没法还原回这两个素数

把这一对密钥 , 其中一个公布出来(公钥) , 另一个自己藏着(私钥)
就可以使用公钥来加密 , 私钥来解密
或者也可以私钥来加密 , 公钥来解密

可以这样理解 : 小区楼下有邮箱
每一户有自己的邮箱 , 有一个钥匙
邮递员手里有一把小锁头 (邮递员有很多个 , 这样的锁头也有很多 , 但是钥匙都是同一把)
邮递员可以通过这个锁 , 把你的信锁进去 [使用公钥加密]
你就可以拿着钥匙来开锁获取到信了 [使用私钥解密]

1678680981409-5581776e-8c2a-4d85-8419-dcf36c601701.png
既然非对称加密这么香 , 为啥还要用对称加密呢 ?
非对称加密的加密和解密的开销 , 都是非常大的 , 就不如对称加密轻量
为了让安全和效率同时都具备 , 那我们就二者结合使用

但是上述的过程并非是无懈可击 , 黑客仍然有办法解决这个问题 , 叫做 : 中间人攻击

引入 “证书” 机制

先给大家讲解一下 , 什么是 “中间人攻击”
举个栗子 : 我们看电视剧经常会看到黑帮大佬们进行交易
易烊千玺和王源要进行交易 , 但是他们两个彼此都不认识 , 这时候王俊凯就可以浑水摸鱼
跟易烊千玺进行交易的时候 , 王俊凯假装是王源进行交易
跟王源进行交易的时候 , 王俊凯就假装自己是易烊千玺
这样 , 王俊凯就是一个中间人的操作 , 将易烊千玺和王源一网打尽
无标题.png
那如何解决中间人攻击的问题呢 ?
我们就需要让客户端有能力鉴别传过来的公钥到底是不是服务器传过来的公钥 , 有没有被动过手脚
HTTPS 就引入了一个证书机制
无标题.png
那 Fiddler 是如何实现抓包 HTTPS 呢?
Fiddler 其实就是在进行中间人攻击
首次勾选 Fiddler 的 Https , 提示是否要安装一个 xxxx 证书
这个是 Fiddler 为了实现中间人攻击 , 自己生成的证书
得安装了这个证书 , 浏览器才会信任 Fiddler , 浏览器才不会弹框

上述的这些过程 , 不是 HTTPS 独有的 , 这个过程是 SSL/TLS 的加密流程
HTTPS 就是 HTTP + SSL
其他的协议也可能使用 SSL (比如 SSH 协议)

1.4 HTTP VS HTTPS

HTTPS 是基于 HTTP 的 , 他更加安全了 , 主要在以下几点

  1. 安全性
    a. HTTP 是明文传输的
    b. HTTPS 通过 SSL/TLS 进行数据加密
  2. 加密性 : HTTPS 会在数据发送和接收之前会进行加密
  3. 证书 : HTTPS 网站需要获得 SSL/TLS 证书
  4. 端口号 : HTTP 端口号是 80 , HTTPS 端口号是 443
  5. 搜索引擎优化 : 谷歌浏览器就会将 HTTPS 的网站排列在更靠前的位置

到此为止 , 这篇文章就讲解完毕了
我们主要讲解了以下几点

  1. 什么是运营商劫持 ?
  2. HTTPS 是怎样加密的
    a. 对称加密
    b. 非对称加密
    c. 证书
  3. HTTPS 与 HTTP 的区别

如果你对 HTTPS 有一定的了解了 , 就请给我一键三连~
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1227327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“新KG”视点 | 知识图谱与大语言模型协同模式探究

OpenKG 大模型专辑 导读 知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力,知识图谱则丰富了表示知识的方式,两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下,OpenKG组织…

laravel-admin导出excel全部,表中无id列导出失败

laravel-admin导出excel时,导出全部数据,但是表中没有id字段,然后就无法导出excel; 就直接显示 一开始我也很着急,弄了半天还是不行,然后重写还是有问题 最后发现底层代码排序是按照id排序的orderBy(id, a…

贝锐蒲公英助力智慧楼宇,实现自控系统远程运维、数据实时监测

在智慧楼宇系统中,存在着多套不同的系统,比如:智能照明控制、智能空调控制、智能安防监控等。在实际应用中,除了需要打通楼内各个系统实现智能联动,如何实现各地多楼宇的数据实时互通构建智慧楼宇生态系统也是需要解决…

webservice笔记

1,简介 webservice,是一种跨编程语言和跨操作系统平台的远程调用技术。 webservice三要素:soap、wsdl、uddi2,服务端 2.1创建项目 2.2 编写服务类,并发布服务 import com.test.service.impl.HelloServiceImpl; impo…

文件重命名最佳实践:如何确保文件名的准确性和一致性

在日常生活和工作中,经常需要处理大量的文件,包括电子文件和纸质文件。文件重命名是为了更好地组织和管理这些文件,以方便查找和使用。然而,重命名文件并不是一件简单的事情,它需要遵循一定的最佳实践以确保文件名的准…

基环树(pseudotree)入门

目录 无向基环树找环,[题目](https://www.luogu.com.cn/problem/P8655)拓扑排序找环并查集找环dfs找环 内向基环树[2876. 有向图访问计数](https://leetcode.cn/problems/count-visited-nodes-in-a-directed-graph/description/)[2127. 参加会议的最多员工数](https…

公司内部网络架设悟空CRM客户管理系统 cpolar无需公网IP实现内网,映射端口外网访问

1、什么是内网穿透? 内网穿透,即内网映射,内网IP端口映射到外网的过程。是一种主动的操作,需要本人一些内网的权限。比如在公司自己电脑,将办公OA发布到互联网,然后提供外网在家或出差在外连接访问。 可以…

动态改标题

<el-dialog :title"showTitle" :visible"showDialog" close"close"> </el-dialog>使用计算属性 computed: {showTitle() {//这里根据点击的是否有具体点击的那个id来判断return this.form.id ? "编辑部门" : "新增部…

Linux:安装软件的两种方式rpm和yum

一、rpm方式 1、简单介绍 RPM是RedHat Package Manager的缩写&#xff0c;它是Linux上打包和安装的工具。通过rpm打包的文件扩展名是.RPM。这个安装包就类似Windows系统中的.exe文件。rpm工具实现Linux上软件的离线安装。 2、软件相关信息的查询命令 查询Linux系统上所有已…

docker的基本使用以及使用Docker 运行D435i

1.一些基本的指令 1.1 容器 要查看正在运行的容器&#xff1a; sudo docker ps 查看所有的容器&#xff08;包括停止状态的容器&#xff09; sudo docker ps -a 重新命名容器 sudo docker rename <old_name> <new_name> <old_name> 替换为你的容器名称…

模块化Common JS 和 ES Module

目录 历程 1.几个函数&#xff1a;全局变量的污染&#xff0c;模块间没有联系 2.对象&#xff1a;暴露成员&#xff0c;外部可修改 3.立即执行函数&#xff1a;闭包实现模块私有作用域 common JS module和Module 过程 模块依赖&#xff1a;深度优先遍历、父 -> 子 -…

辅助笔记-Jupyter Notebook的安装和使用

辅助笔记-Jupyter Notebook的安装和使用 文章目录 辅助笔记-Jupyter Notebook的安装和使用1. 安装Anaconda2. conda更换清华源3. Jupter Notebooks 使用技巧 笔记主要参考B站视频“最易上手的Python环境配置——Jupyter Notebook使用精讲”。 Jupyter Notebook (此前被称为IPyt…

C++初阶 日期类的实现(上)

目录 一、前置准备 1.1获得每月的天数 1.2获得每年的天数 1.3构造函数&#xff0c;析构函数和拷贝构造函数 二、日期与天数的,-,,-实现 2.1运算符重载 2.2运算符的实现 2.3-运算符的实现 2.4-运算符的实现 三、&#xff0c;--的实现 3.1前置&#xff0c;后置的实现 …

《洛谷深入浅出基础篇》P5266 学籍管理——map的应用

上链接&#xff1a;P5266 【深基17.例6】学籍管理 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P5266#submit 题干&#xff1a; 题目描述 您要设计一个学籍管理系统&#xff0c;最开始学籍数据是空的&#xff0c;然后该系统能够支持下面的…

Vue3--Vue Router详解--学习笔记

1. 认识vue-router Angular的ngRouter React的ReactRouter Vue的vue-router Vue Router 是Vue.js的官方路由&#xff1a; 它与Vue.js核心深度集成&#xff0c;让Vue.js构建单页应用&#xff08;SPA&#xff09;变得非常容易&#xff1b;目前Vue路由最新的版本是4.x版本。 v…

德迅云安全告诉您 网站被攻击怎么办-SCDN来帮您

随着互联网的发展给我们带来极大的便利&#xff0c;但是同时也带来一定的安全威胁&#xff0c;网络恶意攻击逐渐增多&#xff0c;很多网站饱受困扰&#xff0c;而其中最为常见的恶意攻击就是cc以及ddos攻击。针对网站攻击&#xff0c;今天为您介绍其中一种防护方式-SCDN&#x…

计算机毕业设计选题推荐-点餐微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

吴恩达《机器学习》9-1-9-3:反向传播算法、反向传播算法的直观理解

一、正向传播的基础 在正向传播中&#xff0c;从神经网络的输入层开始&#xff0c;通过一层一层的计算&#xff0c;最终得到输出层的预测结果。这是一种前向的计算过程&#xff0c;即从输入到输出的传播。 二、反向传播算法概述 反向传播算法是为了计算代价函数相对于模型参数…

贝锐蒲公英路由器X4C如何远程访问NAS?

在目前网盘前路坎坷的情况下&#xff0c;私人云盘已然是一种新的趋势&#xff01;那自己打造一个私有云盘&#xff0c;是否需要高成本或是高门槛呢&#xff1f;其实并不用&#xff01;蒲公英针对个人玩家打造了全方位的私有云解决方案。 &#xff08;1&#xff09;入门级玩家只…