当前位置: 首页 > news >正文

HTTP响应的基本概念

目录

HTTP响应中的一些信息

HTTPS


HTTP响应中的一些信息

状态码:描述了这次HTTP请求是否成功,以及失败的原因。

1)200   ---OK

表示这次访问成功了。

2)404   ---Not Found 

表示客户端请求的资源在服务器这边不存在。

3)403   ---Forbidden

表示客户端的权限不足,被禁止访问了。

4)405    ---Method Not Allowed

表示请求中的方法,服务器不支持。当请求方发送请求(GET/POST方法),服务器的代码逻辑就需要处理上述请求,假如服务器没有实现对应的逻辑。比如只实现了处理GET,没实现处理POST,此时你发送POST,就可能得到405。

5)500   ---Internal Server Error

表示服务器内部错误。代码里出现bug。

6)504   ---Gateway Timeout

表示服务器访问超时了。这种问题常出现于“服务器比较繁忙的情况”。

7)302   ---Move temporarily

临时重定向。访问某个地址的时候,访问的是旧地址,自动跳转到新的地址上。

响应报文报头(header)中包含Location,表示接下来要跳转到哪个地址上。

8)301    ---Moved Permanently

访问的旧地址和新地址之间的映射关系,固定了。此时浏览器就会缓存这样的结果。后续再次访问旧地址的时候,浏览器旧可以直接构造新地址的请求,就减少一次http访问了。

如果使用302作为重定向,临时重定向,旧地址是否要重定向,以及重定向到哪里,就是可变的。因此每次访问旧地址,都需要使用旧地址访问服务器,获取到响应的Location属性再进行跳转。

HTTPS

HTTPS本质上就是HTTP的基础上增加了一个加密层。  S  =>SSL(安全相关的协议)

HTTPS = HTTP + SSL

明文:要传输的真正的意思是啥。

密文:加密之后得到的数据。

密钥:用来加密和解密的道具/数据。

把明文通过密钥变成密文  => 加密

把密文通过密钥变成明文  => 解密

对称加密:加密和解密,使用同一个密钥。加密解密速度比较快。

非对称加密:密钥是一对(分别称为公钥和私钥),加密解密速度比较慢,安全性更高。可以使用公钥加密,私钥解密。或者可以使用私钥加密,公钥解密。

HTTPS使用对称加密。

注:当有多个客户端的时候,不同客户端的密钥是不同的。

如何把密钥传给对方呢?如果明文传输,又会被黑客获取到。

需要给密钥进行加密。(无法使用对称加密的方式,对密钥加密)

此时就需要通过非对称加密的方式,针对对称密钥来进行加密。(非对称加密不是针对后续传输的数据内容展开的,而是只针对对称密钥来进行)

服务器生成 => 公钥 和 私钥

当客户端连上服务器的时候,服务器就会把自己的公钥,告诉给客户端(私钥还是自己来持有的)。公钥是会告诉所有的客户端(所有的客户端都是同一个公钥),私钥的话是自己留好不会告诉任何人。

接下来客户端生成密钥。(每个客户端生成自己的,客户端之间不知道别人的对称密钥是啥)

通过服务器拿到的公钥,针对对称密钥,进行加密。再把对称密钥的密文,传输给服务器。

中间人攻击问题:黑客可以冒充自己是服务器。黑客面对客户端的时候,扮演服务器的角色。面对服务器的时候,扮演客户端的角色。

如何解决中间人攻击

最关键的切入点,就是让客户端能够区分出当前的公钥是不是服务器自己的公钥,是不是被伪造出来的公钥。

此处需引入第三方公证机构。公证机构会对公钥进行“公证”,此时客户端看到了这个公钥被公证了,就可以认为这是合法的了。公证机构,生成一对非对称密钥pub(公证),pri(公证),拿着pri(公证)针对证书数据的校验和进行加密,得到了数字签名。

服务器上线自己的网站的时候,要先去第三方公证机构申请一个“证书”。

数字签名:加密后的校验和。基于CRC/MD5等方式,把原始数据每个字节都带入,计算一遍,最终得到的一串数。数字签名就是针对这个校验和,再来一次加密,基于非对称加密的方式来进行的加密。

客户端收到证书,就会对证书的合法性进行校验。

1)针对证书这些字段,计算校验和。

2)针对数字签名进行解密

数字签名是基于公正机构的私钥来加密的。就需要拿着公证机构的公钥来解密。

注:获取公证机构的公钥,不是通过“网络”的方式获取到的。通过网络的方式,就可能会得到黑客伪造的公钥。

而是操作系统会内置公证机构的公钥

公证机构一共没多少,一个操作系统就可以在发布的时候,把市面上的公证机构的公钥都打包放在一起。随着安装操作系统,公钥就有了。

接下来,就可以使用公证机构的公钥(系统内置),来对数字签名进行解密了。解密之后得到校验和2.

3)客户端来比较 校验和1 == 校验和2

相等就说明整个证书都是没有被篡改过的,证书中包含的公钥就是可信的服务器公钥了。

以上,关于HTTPS,希望对你有所帮助。

相关文章:

HTTP响应的基本概念

目录 HTTP响应中的一些信息 HTTPS HTTP响应中的一些信息 状态码:描述了这次HTTP请求是否成功,以及失败的原因。 1)200 ---OK 表示这次访问成功了。 2)404 ---Not Found 表示客户端请求的资源在服务器这边不存在。 3&a…...

链栈的存储

单向链表在栈中的存储 typedef struct StackNode {SElemType data;struct StackNode* next; }StackNode, *LinkStack; LinkStack S; //链栈初始化 void InitStack(LinkStack& S) {S NULL;return OK; } //判断链栈是否为空 Status StackEmpty(LinkStack S) {if (S NU…...

常见网络协议及端口号

https://www.cnblogs.com/Snail-yellow/p/17722411.html 常见的网络协议-腾讯云开发者社区-腾讯云 常见的网络协议知识整理_五种常用的网络协议-CSDN博客 端口 协议 常见的网络协议_计算机网络协议有哪些csdn-CSDN博客 ​​​​​​​​​​​​​​协议 常见的网络协议知…...

几张自己绘制的UML图

全部来源于公司项目,使用建模工具 Enterprise Architect。自己做的其余文档(含绘图),因保密协议不便于公开。...

[读论文]精读Self-Attentive Sequential Recommendation

论文链接:https://arxiv.org/abs/1808.09781 其他解读文章:https://mp.weixin.qq.com/s/cRQi3FBi9OMdO7imK2Y4Ew 摘要 顺序动态是许多现代推荐系统的一个关键特征,这些系统试图根据用户最近执行的操作来捕获用户活动的“上下文”。为了捕捉…...

HTML静态网页成品作业(HTML+CSS)——动漫海绵宝宝介绍网页(5个页面)

🎉不定期分享源码,关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 🏷️本套采用HTMLCSS,未使用Javacsript代码,共有5个页面。 二、作品演示 三、代…...

开放式耳机2024超值推荐!教你如何选择蓝牙耳机!

开放式耳机的便利性让它在我们的日常生活中变得越来越重要。它让我们摆脱了传统耳机的限制,享受到了更多的自由。不过,市面上的开放式耳机种类繁多,挑选一款既实用又实惠的产品确实需要一些小窍门。作为一位对开放式耳机颇有研究的用户&#…...

程序员搞副业的障碍有那些?

利用信息差是最常见的商业模式 在这个世界上,没有什么是所有人都知道的,信息差总是存在的。 无论是经验、技巧、知识,甚至是常识,都可能是信息差的源泉,而存在信息差的地方就意味着有赚钱的商机。 面对用户需求的金…...

windows7的ie11降级到ie8

重点是要在程序管理窗口中“查看已安装的更新”打开当前系统中已安装更新列表,找到两个IE11的更新(见下图“卸载文件“)并卸载掉,这样windows功能中的ie11才会变成ie8. 打开控制面板 进入面板,点击程序,进…...

楼房vr安全逃生模拟体验让你在虚拟环境中亲身体验火灾的紧迫与危险

消防VR安全逃生体验系统是深圳VR公司华锐视点引入了前沿的VR虚拟现实、web3d开发和多媒体交互技术,为用户打造了一个逼真的火灾现场应急逃生模拟演练环境。 相比传统的消防逃生模拟演练,消防VR安全逃生体验系统包含知识讲解和模拟实训演练,体…...

rust 学习--所有权

所有权是rust的核心功能。 Rust 是通过所有权来管理内存回收的 栈(Stack) 栈是后进先出的 栈中存储的数据在编译时是固定内存大小的数据 数据移除栈叫出栈,数据存入栈叫入栈 入栈要比在堆上分配内存块,入栈时分配器无需为存储…...

关于Git 的基本概念和使用方式

Git是一个分布式版本控制系统,用于跟踪和管理代码的改动。它具有以下基本概念和使用方式: 1. 仓库(Repository):Git使用仓库来存储代码和相关的历史记录。仓库可以是本地的,也可以是远程的。本地仓库保存在…...

《计算机网络微课堂》1-6 计算机体系结构

常见的计算机网络体系结构 从本节课开始,我们要用 4 次课的时间来介绍有关计算机网络体系结构的知识,具体包含以下内容: 一,常见的计算机网络体系结构二,计算机网络体系结构分层的必要性三,计算机网络体系…...

大模型的灵魂解读:Anthropic AI的Claude3 Sonnet可解释性研究

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模型领域最新技…...

大模型框架:vLLM

目录 一、vLLM 介绍 二、安装 vLLM 2.1 使用 GPU 进行安装 2.2 使用CPU进行安装 2.3 相关配置 三、使用 vLLM 3.1 离线推理 3.2 适配OpenAI-API的API服务 一、vLLM 介绍 vLLM是伯克利大学LMSYS组织开源的大语言模型高速推理框架。它利用了全新的注意力算法「PagedAtten…...

SQL 使用心得【持续更新】

COUNT(字段) 不会统计 NULL 值,但是COUNT(*)会只要有子查询,就需要给子查询定义别名!where 后面的条件表达式中不能存在聚合函数,但是 Having 可以聚合函数基本上都是需要配合 group…...

基于Spring Boot的高校图书馆管理系统

项目和论文都有企鹅号2583550535 基于Spring Boot的图书馆管理系统||图书管理系统_哔哩哔哩_bilibili 第1章 绪论... 1 1.1 研究背景和意义... 1 1.2 国内外研究现状... 1 第2章 相关技术概述... 2 2.1 后端开发技术... 2 2.1.1 SpringBoot 2 2.1.2 MySQL.. 2 2.1.3 My…...

python(4) : pip安装使用国内源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests...

让写书人勇敢穿越纸海的迷雾

坚守纸海:让写书人勇敢穿越纸海的迷雾 你作为一位写书人,在创作过程中你需要坚守初心是非常重要的。在创作的过程中,你会遇到各种挑战和困难,你要勇敢面对迷雾中的挑战,并通过不懈的努力和决心,成功地穿越…...

ROS2学习——节点话题通信(2)

目录 一、ROS2节点 1.概念 2.实例 (1)ros2 run (2)ros2 node list (3)remapping重映射 (4)ros2 node info 二、话题 (1) ros2 topic list &#xf…...

conda相比python好处

Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理&#xff1a…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率&#xff0c…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...