【JavaEE】HTTP(3)

news2025/1/12 4:00:13

在这里插入图片描述
🤡🤡🤡个人主页🤡🤡🤡
🤡🤡🤡JavaEE专栏🤡🤡🤡

文章目录

  • 1.HTTP响应
    • 1.2状态码
  • 2.HTTPS协议
    • 2.1概念
    • 2.2引入对称加密
      • 2.2.1概念
      • 2.2.2图解对称加密传输数据
    • 2.3引入非对称加密
      • 2.3.1概念
      • 2.3.2图解非对称加密传输数据
    • 2.4中间人攻击
    • 2.5引入证书

1.HTTP响应

1.2状态码

状态码描述了这次HTTP请求是否成功,如果失败那么失败的原因,每一个状态码都是有一组单词表示

  1. 200——OK
    请求成功

  2. 404——Not Found
    客户端请求的资源(路径)在服务器不存在,比如:这个就是一个可以被访问到的路径,也可以说这个路径下的资源服务器里是存在的,但是我将这个路径更改为不存在的就会返回404。

    在这里插入图片描述

  3. 403——Forbidden
    客户端访问的权限是不足的,就会被禁止访问

  4. 405——Method Not Allowed
    请求的方法中服务器不支持,假设目前该服务器中只支持GET方法,但是你请求的方法是POST那么就会出现405

  5. 500——Internal Server Error 服务器内部错误
    服务器内部出现了BUG

  6. 604——Gateway Timeout 服务器访问超时

  7. 302——Move Temporarily 临时重定向
    访问某个地址的时候,访问的是旧地址,自动调转到新的地址上。
    在这里插入图片描述

  8. 301——Move Permanently 永久重定向
    访问的旧地址和新地址之间的映射关系就固定了,此时浏览器也会缓存这样的结果,等到后续在访问到旧地址就会直接构建出新地址的请求发送给服务器,这样就少了一次请求也减少了资源的开销,比如某一个公司换域名就会使用到这个。
    301与302区别
    302是可变的,而301是固定的。
    Location :用来 进行重定向,或者在创建了某个新资源时使用
    ETag:对于某个资源的某个特定版本的一个标识符,通常是一个 消息散列

2.HTTPS协议

2.1概念

HTTPS其实就是基于HTTP协议下加入了一个SSL,打比方就是将一个明文通过密钥进行加密成密文的意思,此处的密钥就是SSL,明文就是HTTP,密文就是HTTPS,通过加入SSL之后客户端与服务器在通信的时候传输的数据就可以得到保证,而这个加密的过程是在三次握手的时候进行的。

2.2引入对称加密

2.2.1概念

对称加密就是一个密钥,解密和加密都是通过这个密钥,客户端需要将数据传输给服务器就需要这个对称加密的密钥进行加密,服务器对客户端发送过来的数据进行解密也是通过这个密钥解密的。

2.2.2图解对称加密传输数据

采取对称加密数据:
在这里插入图片描述
在生活中是有许多客户端的,不仅仅只有一个,多个客户端需要服务器管理多个对称加密来维护各个客户端传输加密数据发送给服务器,并且需要将密钥传输过去,由于多个客户端,在传输的过程中管理的难度很大,并且危险性也高,那么我们就需要另一种方式将这个密钥进行加密然后传输给服务器,那么这个加密的形式我们应该用什么呢?如果继续用对称加密,那么这样就会陷入一个死循环,所以我们就引出了一个叫非对称加密。

2.3引入非对称加密

2.3.1概念

非对称加密由两个密钥组成,一个密钥是私钥,一个是公钥,如果用私钥加密那么就是用公钥解密,如果用公钥加密那么就需要私钥进行解密。

2.3.2图解非对称加密传输数据

在这里插入图片描述
引入非对称加密并不是针对数据本身加密,而是针对对称加密的密钥加密,使密钥可以不被外界知晓的传输给服务器,真正对数据加密的还是对称加密的密钥,这样服务器本身就持有公钥,而客户端就持有私钥(这个私钥每一个客户端都是一样的,这个私钥是服务器在三次握手期间传输给各个客户端的),引入了非对称加密还不能完全解决传输安全,还会有中间人攻击。

2.4中间人攻击

在这里插入图片描述
客户端在接收私钥的时候是无法区分到底是黑客自己的私钥还是服务器的私钥,在整个过程中黑客在与客户端对话的时候充当服务器的角色,在与服务器对话的时候充当客户端的角色,客户端和服务器一直都不知道黑客的存在,为了解决这个问题我们需要引入第三方机构的安全证书。

2.5引入证书

在这里插入图片描述
第三方机构:在第三方机构中生成的证书就会先进行对证书的各个字段校验和之后的结果放入数字签名中并使用公钥加密
客户端:客户端就需要将返回来的证书中的信息字段校验和之后,再让客户端内置的私钥对数字签名中的公钥解密,之后再将客户端校验和的结果与数字签名中的结果进行对比,如果出现不一样那么就说明不安全,不进行数据传输,如果一样那么就可以进行数据传输。
黑客:客户端可以通过私钥对证书中的数字签名解密,黑客也可以。
黑客能修改证书中的服务器的私钥,但是不修改证书中的数字签名:
那么客户端拿到数字签名之后通过私钥解密数字签名获得到的校验和与自己计算的校验和相比较,不符合,那么证书就作废
黑客修改证书中的服务器的私钥而且还修改证书的数字签名:
虽然黑客通过私钥解密了数字签名并作修改,但是你不知道第三方机构的公钥,你无法对数字签名加密,你只能去自己生成一个公钥去加密,但是当证书到达了客户端,客户端通过私钥来解密发现解密失败,证书作废。

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

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

相关文章

Ribbon-微服务注册中心(Ribbon概述 基于Ribbon实现订单调⽤商品服务 服务调⽤Ribbon⾼级 )

目录 一、Ribbon概述 1. 什么是Ribbon 2. Ribbon的主要作⽤ 二、基于Ribbon实现订单调⽤商品服务 1. 坐标依赖 2. ⼯程改造 三、服务调⽤Ribbon⾼级 1. 负载均衡概述 2. 客户端负载均衡与服务端负载均衡 3. 基于Ribbon实现负载均衡 3.1 搭建多服务实例 3.2 负载均衡…

完蛋!我把AI喂吐了!

当我们用 [RAG] 构建一个知识库问答应用的时候,总是希望知识库里面灌的数据越多,问答的效果越好,事实真是如此吗?这篇文章给大家答案。 引言 在人工智能问答系统的发展中,RAG(Retrieval-Augmented Generat…

努比亚开局连发两款旗舰机,其中一款还能卫星通话?

在智能手机市场竞争日益激烈的当下,努比亚作为国内知名手机品牌,始终致力于为消费者带来兼具创新性和实用性的产品。 近日,努比亚正式发布了两款备受瞩目的旗舰手机——努比亚Z60 Ultra领先版和努比亚Z60S Pro。两款手机不仅在硬件配置上实现…

Macbook Pro升级macOS 10.15及以上的全过程

Author : Spinach | GHB Link : http://blog.csdn.net/bocai8058文章目录 前言升级步骤选择指定macOS版本并下载安装升级macOS安装过程安装完成 前言 由于现在更多软件安装所需系统要求10.15及以上,导致很多app应用不能使用,如edge mac的操作系统要求…

LlamaIndex vs LangChain: 理解关键差异

LLM(大型语言模型)已成为各行各业不可或缺的工具,用于生成类人文本、翻译语言和回答问题等任务。有时,LLM的响应令人惊叹,因为它们比人类更迅速、更准确。这表明了它们对当今技术格局的重大影响。 今天让我们聊聊 Llam…

i2c中结构体 数据传输 i2c Tools使用

I2C中重要结构体 在I2C(Inter-Integrated Circuit)通信中,涉及的主要结构体通常用于描述设备、消息和传输的配置。以下是一些常见的I2C结构体及其作用: i2c_adapter: 这是一个代表I2C总线适配器的结构体。它包含与该I2C总线相关的…

【Django5】模型定义与使用

系列文章目录 第一章 Django使用的基础知识 第二章 setting.py文件的配置 第三章 路由的定义与使用 第四章 视图的定义与使用 第五章 二进制文件下载响应 第六章 Http请求&HttpRequest请求类 第七章 会话管理(Cookies&Session) 第八章 文件上传…

【ai】 2005年 rule based expert system学习笔记1

PPT 是2005年的? Negnevitsky, Pearson Education 使用两种推理引擎的选择 backward chaining(逆向链接)推理过程 backward chaining(逆向链接)推理过程的GPT解释 这幅图展示了一个基于规则的专家系统如何通过backward chaining(逆向链接)推理过程来达到最终的推理目标…

[tomato]靶机复现漏洞详解!

靶机地址: https://download.vulnhub.com/tomato/Tomato.ova 靶机环境:Vmware 网络:NAT模式 信息收集: arp-scan -l 扫描靶机ip地址 扫描开放的端口信息 nmap -sS -sV -p- 192.168.77.135 发现开放端口21&#xff…

Matplotlib柱形图大揭秘:让数据‘站’起来,比增高鞋垫还管用!

1. Matplotlib绘制柱形图/柱状图/条形图 柱状图是一种用矩形柱来表示数据分类的图表,柱状图可以垂直绘制,也可以水平绘制,它的高度与其表示的数据成正比关系 # 导包 import numpy as np import pandas as pd import matplotlib.pyplot as p…

黑马Java零基础视频教程精华部分_9_面向对象进阶(1)

系列文章目录 文章目录 系列文章目录一、static(表示静态) 是Java中的一个修饰符,可以修饰成员方法,成员变量1、静态变量2、静态变量底层原理3、static静态方法4、工具类、测试类、Javabean类5、static注意事项从代码层面从内存层面 6、重新认识main方法…

[ WARN:0@0.014] global loadsave.cpp:248 cv::findDecoder imread_

[ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 目录 [ WARN:00.014] global loadsave.cpp:248 cv::findDecoder imread_ 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰…

网工必装软件,SecureCRT从零到精通,不可错过

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 中午好,我的网工朋友。 相信在平时的日常工作中,大家经常需要通过安全的方式远程访问各种设备和服务。SecureCRT作为一款强…

JavaWeb的三层架构和分层解耦

博客主页:音符犹如代码系列专栏:JavaWeb关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 目录 三层架构 分层解耦 三层架构是哪三层? Controller:表现层…

云微客短视频矩阵能带来流量吗?有哪些产品特色?

短视频平台,现如今已经成为了互联网最大的流量池,诸如抖音、快手、小红书、视频号、哔哩哔哩等平台,日活量都在上亿。短视频赛道汇聚了无数的用户群体,所以商企品牌的营销定位就应该在这里。 许多企业看到了这样的营销商机&#x…

AI绘画模型之:CLIP 与 DALL-E 2

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

自动驾驶:SLAM

什么是SLAM SLAM,即Simultaneous Localization and Mapping(同时定位与地图构建) 最早由Smith、Self和Cheeseman于1988年提出。是自动驾驶领域中的一项核心技术。它允许自动驾驶车辆在使用各种传感器(如激光雷达、摄像头、IMU等&…

计算机毕业设计选题推荐-服装生产管理系统-Java/Python项目实战

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

大模型开闭源之争,本质是商业化的争夺

大模型从发展之初,即存在开源与闭源两条路线,孰优孰劣,也处于持续争论之中。2024年7月,在“2024世界人工智能大会”上,众多业内领军人物对大模型开闭源表达了针锋相对的观点。例如,百度创始人李彦宏站在闭源…

成功解决:java.security.InvalidKeyException: Illegal key size

在集成微信支付到Spring Boot项目时,可能会遇到启动报错 java.security.InvalidKeyException: Illegal key size 的问题。这是由于Java加密扩展(JCE)限制了密钥的长度。幸运的是,我们可以通过简单的替换文件来解决这个问题。 解决…