http笔记

news2025/1/23 15:08:46

文章目录

  • 1、什么是http?
  • 2、http报文格式
  • 3、请求报文
    • 1、认识URL
    • 2、认识http方法
    • 3、认识header
  • 4、响应报文
  • 5、https加密机制

1、什么是http?

http是应用层最广泛使用的协议之一;其中浏览器获取到网页就是基于http实现的;http就是浏览器和客户端之间的桥梁


2、http报文格式

http有请求报文和响应报文两种;
例子:打开力扣,进行抓包:
请求报文(此处使用Fiddler抓包)

在这里插入图片描述


响应报文:
在这里插入图片描述

这个就是力扣主页里面的html内容;


请求报文格式:
在这里插入图片描述


3、请求报文

1、认识URL

在这里插入图片描述

此处省略了端口号:一般默认是http的端口号80;
查询字符串:获取资源的时候带的参数
带层次的文件路径:查到程序管辖下的哪个文件;
url:协议方案名+IP地址+端口号+带层次的路径+查询字符串

注意:

  1. query string是非常重要的参数,以?开头,是以键值对的方式进行描述的,键和值之间用=,键值对和键值对之间用&分割;

2、认识http方法

http有很多方法:
在这里插入图片描述

这些方法就描述了请求的时候具体要求,但是应用最多的方法是GET和POST
在这里插入图片描述
在这里插入图片描述

这是GET请求,POST请求一般是登录或上传文件时才会出现;
另外,POST的body部分是程序员自己定义的


经典面试题:GET和POST有什么区别?

在这里插入图片描述

3、认识header

header部分是由很多键值对组成的,不同的键值对有不同的含义,
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
关于Cookie:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

4、响应报文

在这里插入图片描述
http的状态码描述了这次相应的结果,是成功还是失败,或者失败的原因
在这里插入图片描述
下面是几个比较重要的状态码:
在这里插入图片描述
状态码总结:
在这里插入图片描述

http报文格式:
在这里插入图片描述


5、https加密机制

https就是http+ssl(安全层)
因为http是明文传输的,所以有很大的风险会泄露信息,所以引入了https,通过加密的方式,来保护我们的报文信息。
加密又分为对称加密和非对称加密;
在这里插入图片描述

对称加密: 客户端生成一个秘钥,然后将这个秘钥传给服务器,接着二者通信就通过这个秘钥来加密、解密,但是传输秘钥的时候也有可能泄漏,所以对称加密的方式也是不安全的;
非对称加密: 服务器生成一对秘钥:公钥和私钥,使用公钥进行加密,使用私钥进行解密,即使报文被拦截,没有私钥也是无法解密的;
但是由于对称加密的效率比较低,并且会消耗大量的资源,所以我们一般使用非对称加密来传输对称加密的秘钥,接着使用对称加密进行传输

但是这种方式也不是特别安全,如果有人在中间强行捣乱也是可以做到的,当服务器传输给客户端公钥时,黑客就可以冒充客户端将公钥拦截下来,自己生成一对公钥和私钥,将自己的公钥发送给客户端,客户端收到服务器的公钥后,就会使用明文+公钥的方式将自己生成的秘钥进行加密,接着传输给服务器,黑客此时就会冒充服务器将报文拦截下来,并且使用自己的私钥进行解密,解密后就可以的到客户端的生成的公钥,因此这种方式也不是完全安全的传输;
流程:
在这里插入图片描述

因此,我们需要解决中间人攻击这个问题,而解决这个问题的关键,就是让客户端识别传来的这个公钥是不是真正的客户端公钥
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Caddy2学习笔记——Caddy2反向代理docker版本的DERP中继服务器

一、个人环境概述 本人拥有一个国内云服务商的云主机和一个备案好的域名,通过caddy2来作为web服务器。我的云主机系统是Ubuntu。 我的云主机是公网ip,地址为:43.126.100.78;我备案好的域名是:hotgirl.com。后面的文章…

【量化交易笔记】3.实现数据库保存数据

上一节,我们通过下载相关的 pandas 数据保存为 本地csv文件,这一节将上节的数据以数据库方式保存。 数据库保存 采集数据部分前一节已做说明,这里就直接用采用前面的内容。这里着重说明的事数据库连接。对与 python 相连接的数据库有很多&a…

玩转Python的交互(命令行)模式

我喜欢使用Python的交互界面(命令行模式)来运行和调试Python代码。为什么不用PyCharm、VSCode?因为先入为主,加上我的DOS命令行的情结,我第一次安装使用Python就是用这种黑白界面的,平时写代码惯用EmEditor…

MySQL慢查询

2 慢查询 2.1 慢查询介绍 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。具体指运行时间超过long_query_time值的SQL&…

软件测试之快速熟悉项目

快速熟悉项目 1、了解项目架构 C/S架构 C/S 代表的是客户端/服务器(client/server),这类软件的使用者需要在本地电脑安装客户端程序,例如:QQ。 优点:安全性高。 缺点:一旦软件有更新,用户需要手动下载&am…

Rust 开发系列PyO3:Rust与Python的联动编程(中)

第三节:对比C语言的Python原生扩展开发模式 C/c编写Python扩展的方法,与Rust大致是相同的,如果不论语言本身的语法带来的繁琐的话,就单纯以开发步骤和模式来看,原生语言写扩展的步骤更为标准和简单。 大致来说&#…

QT入门Item Views之QTreeView

目录 一、QTreeView界面相关 1、布局介绍 二、基本属性功能 1、设置单元格不能编辑 2、一次选中一个item 3、去掉鼠标移动到单元格上的虚线框 4、最后一列自适应 三、代码展示 1、创建模型,导入模型 2、 右键菜单栏 3、双…

深度学习模型训练工作汇报(3.8)

进行数据的初始整理的准备 主要是进行伪序列字典的设置,以及训练数据集的准备。 期间需要的一些问题包括在读取文件信息的时候,需要跳过文件的第一行或者前两行,如果使用循环判断的话,会多进行n次的运算,这是不划算的…

003+limou+HTML——(3)HTML列表

000、前言 列表是网页常见的一种数据排列方式,在HTMl中列表一共有三种:有序列表、无序列表、定义列表(另外“目录列表dir”和“菜单列表menu”已经在HTML5中被废除了,现在都是使用无序列表ul来替代) 001、有序列表&a…

C/C++指针与数组(一)

预备知识 1、数据的存储 2、基本内建类型 1)类型的大小 C offers a flexible standard with some guaranteed minimum sizes, which it takes from C: A short integer is at least 16 bits wide.An int integer is at least as big as short.A long integer is a…

Spring Cloud学习笔记:基础知识

这是本人学习的总结,主要学习资料如下 马士兵教育 目录1、Spring Cloud 简介2、Eureka3、建立Spring Cloud项目3.1、启动Server3.1.1、dependency3.1.2、配置文件3.1.3、Server端启动代码3.2、启动Client3.2.1、dependency3.2.2、配置文件3.3.3、Client端启动代码3…

Go之入门(特性、变量、常量、数据类型)

一、Go语言特性 语法简单并发性。Go语言引入了协程goroutine,实现了并发编程内存分配。Go语言为了解决高并发下内存的分配和管理,选择了tcmalloc进行内存分配(为了并发设计的高性能内存分配组件,使用cache为当前线程提供无锁分配…

电脑自动重启是什么原因?详细解说

案例:电脑自动重启是什么原因? “一台用了一年的电脑,最近使用,每天都会一两次莫名其妙自动重启,看了电脑错误日志,看不懂什么意思,一直找不到答案。有没有高手知道怎么解决这个问题的。” 当…

仿写简单IOC

目录 TestController类: UserService类: 核心代码SpringIOC: Autowired和Component注解 SpringIOCTest 类 ​编辑 总结: TestController类: Component public class TestController {Autowiredprivate UserService userService;public void test…

RocketMQ如何测试

RocketMQ如何测试MQ简介RocketMQRocketMQ测试点MQ简介 MQ:Message Queue,即消息队列,是一种应用程序之间的消息通信,简单理解就是A服务不断的往队列里发布信息,另一服务B从队列中读取消息并执行处理,消息发…

同步、异步ETL架构的比较

背景介绍: 数据的抽取,转换和加载 (ETL, Extract, Transform, Load) 是构建数据仓库过程中最复杂也是至 关重要的一个步骤,我们通常用两种办法来处理 ETL 流程: 一种是异步(Asynchronous) ETL 方式, 也称为文本文件(Flat file)方式。 另外…

华为云平台架构名词解释

名词解释 网络设备 ISW(外网接入交换机):出口交换机,常用于和外网建立静态/BGP路由互联 CSW (内网接入交换机):专线接入(用户内网骨干)交换机,用户自有网络…

一场以数字技术深度影响和改造传统实业的新风口,正在开启

当数字经济的浪潮开始上演,一场以数字技术深度影响和改造传统实业的新风口,正在开启。对于诸多在互联网时代看似业已走入死胡同的物种来讲,可以说是打开了新的天窗。对于金融科技来讲,同样如此。以往,谈及金融科技&…

蓝桥杯-左移右移(2022国赛)

蓝桥杯-左移右移1、问题描述2、解题思路与代码实现2.1 方法一:使用LinkedList双向链表实现(50%)2.2 方法二:使用HashMap左右临界值实现(100%)1、问题描述 小蓝有一个长度为 N 的数组, 初始时从左到右依次是 1,2,3,…N 。 之后小蓝对这个数组进行了 M 次操…

TX2配置RealSense D455相机SDK和ros驱动

TX2配置RealSense D455相机SDK和ros驱动1 SDK安装2 RealSense-ros安装3 bug及解决3.1 realsense-viewer显示usb2.13.2 Could not found ddynamic_reconfigure折腾了两天终于把realsense的驱动装好了,尝试了命令安装,源码安装,前前后后搞了三遍…