认识HTTP

server/2025/1/15 21:57:31/

HTTP缺点

通信使用明文(不加密),内容可能会被窃听

不验证通信方的身份,可能遭遇伪装

无法证明报文的完整性,所以有可能遭篡改

一、通信使用明文(不加密),内容可能会被窃听

TCP/IP是可能被窃听的网络

1、http协议中没有加密机制,但可以通过SSL(Secure Socket  Layer安全套接层)和TLS(Translate Layer  Secure安全传输层协议)组合使用,加密HTTP的通信内容

2、与SSL组合使用的HTTP被称为HTTPS

加密处理防止窃听:

1、通信的加密:HTTPS

2、内容的加密:客户端对HTTP报文进行加密处理后再发送请求,前提要求客户端和服务器同时具备加密解密机制

二、不验证通信方的身份,可能遭遇伪装

HTTP协议通信时,任何人都可以发起请求,服务器只要接收请求不管对方是谁都会返回响应(不确认通信方)

查明对手的证书:

HTTP协议无法确定通信方,但使用SSL后不仅提供了加密手段,还使用了证书手段,用于确认通信方

证书:由第三方机构颁发(值得信任的),用以证明服务器和客户端是实际存在的,只要能够确认通信方持有的证书,即可判断通信方的真实意图

三、无法证明报文的完整性,所以有可能遭篡改

完整性是指信息的准确度

接收到的内容可能有误:在请求或响应送出之后直到对方接收之前的这段时间内,即使请求或响应的内容遭到篡改,也没办法获悉(中途可能被篡改)

在请求或响应的传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击,攻击人会随意篡改请求和响应,而让客户端和服务器之间的通信看上去仍旧是正常的

防止篡改:

有使用HTTP协议确定报文完整性的方法,但并不快捷可靠

常用的MD5SHA-1等散列值校验的方法,以及用来确认文件的数字签名方法

提供文件下载服务的Web网站也会提供相应的以PGP(Pretty Good Privacy)创建的数字签名及MD5算法生成的散列值。

PGP是用来证明拆跟你讲文件的数字签名

MD5是由单向函数生成的散列值

PGP和MD5都有被改写的可能,都有弊端

所以要用HTTPS

HTTP+加密+认证+完整性保护=HTTPS

https通信时,https://左边会有一个🔒

https是身披SSL外壳的HTTP,之前HTTP直接和TCP通信,使用之后,先和SSL通信,再由SSL和TCP通信

HTTPS不是应用层的一种新协议,只是HTTP通信接口部分用SSL和TLS协议代替而已

SSL是当今应用最为广泛的网络安全技术

SSL采用的是公开密钥加密的加密方式

-------------------------------------加密两种方式:对称和非对称-----------------------------------------------------

加密方式 

①对称密钥加密:加密和解密同用一个密钥(也叫共享密钥加密))(发送密钥可能被窃听,不发送就无法解密,有困难)

②使用两把密钥的公开密钥加密:公开密钥加密很好的解决了共享密钥加密的困难,使用非对称的密钥

非对称密钥:一把公开密钥一把私有密钥(公开密钥和私有密钥是配对的一套密钥,公开密钥可以发给任何人)

公开密钥加密原理:发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密信息后,再使用自己的私有密钥进行解密

---------------------------------------------------------------------------------------------------------------------------------

HTTPS采用的是混合加密机制:共享密钥加密和公开密钥加密两者并用的混合加密机制(不单用公开密钥加密的原因是,处理速度太慢,所以利用各自优势,结合起来)

HTTPS原理:交换密钥环节使用公开密钥加密方式,之后的建立通信交换报文阶段则使用共享密钥加密方式

https://img-blog.csdnimg.cn/direct/d39a6c36f50e4d839dfbb32fa7bbe0d7.png" width="552" />


http://www.ppmy.cn/server/24841.html

相关文章

(学习日记)2024.05.05:UCOSIII第五十九节:User文件夹函数概览(uCOS-III->Source文件夹)第五部分

之前的章节都是针对某个或某些知识点进行的专项讲解,重点在功能和代码解释。 回到最初开始学μC/OS-III系统时,当时就定下了一个目标,不仅要读懂,还要读透,改造成更适合中国宝宝体质的使用方式。在学完野火的教程后,经过几经思考,最后决定自己锦上添花,再续上几章。 这…

Linux硬盘挂载操作记录

文章目录 1.前置概念2.挂载步骤2.1查看盘信息2.2挂载整个盘到指定目录2.3将盘划分为多个分区并挂载到不同目录2.3.1创建分区2.3.2指定文件系统2.3.3挂载目录 3.删除分区 1.前置概念 分区:分区就是将硬盘划分为多个区域,每个区域都有自己的文件系统&…

有哪些好用电脑端时间定时软件?桌面日程安排软件推荐 桌面备忘录

随着现代生活节奏的加快,人们对于时间管理和任务提醒的需求越来越大。为了满足这一需求,市场上涌现出了众多桌面便签备忘录软件,它们不仅可以帮助我们记录待办事项,还能定时提醒我们完成任务。在这篇文章中,我将为大家…

Scaling law信仰下,新华三网络“越过山丘”

如果大模型有信仰,那一定是“Scaling Laws(规模法则)”。 所谓“Scaling Laws”,就是模型性能会随着参数、算力、数据集的规模增加而提高。时间来到2024年,大模型领域依旧是“Scaling Laws”的统治区。 模型参数增长到…

SpringCloud项目打包的镜像下载成功后docker ps找不到

一、问题: 当我们项目打包发布成镜像时,在docker 下载运行镜像后,docker ps找不到下载的镜像 但是docker ps -a可以查看。打印日志docker logs 容器id 遇到错误信息 "no main manifest attribute, in app.jar",这意味…

二、再识VUE-MVVM

一、初识VUE 二、再识VUE-MVVM 三、VUE数据代理 MVVM Vue.js 专注于 MVVM 模型的 ViewModel 层。它通过双向数据绑定把 View 层和 Model 层连接了起来。实际的 DOM 封装和输出格式都被抽象为了 Directives 和 Filters。 ViewModel 一个同步 Model 和 View 的对象。在 Vue.js…

Jammy@Jetson Orin - Tensorflow Keras Get Started

JammyJetson Orin - Tensorflow & Keras Get Started 1. 源由2. 步骤3. 预期&展望4. 总结5. 参考资料 1. 源由 之前过年的时候,花了两周的时间过了一遍 《ubuntu22.04laptop OpenCV Get Started》。 后续更多的时间需要再GPU算法上下功夫,目前…

ArcGIS+ChatGPT双剑合璧:从数据读取到空间分析,一站式掌握GIS与AI融合的前沿科技!

目录 专题一 AI大模型应用 专题二 ArcGIS工作流程及功能 专题三 prompt的使用技巧 专题四 AI助力工作流程 专题五 AI助力数据读取 专题六 AI助力数据编辑与处理 专题七 AI助力空间分析 专题八 AI助力遥感分析 专题九 AI助力二次开发 专题十 AI助力科研绘图 专题十一…