【前后端】HTTP网络传输协议
近期更新完毕,建议关注、收藏!
http请求
- URL 严格意义上应该是URI
- http or https
http不加密不安全;https加密协议(公网使用)
http端口号80 https端口号443 - GET or POST
GET和POST是HTTP请求的两种基本方法.
因为POST需要两步,时间上消耗的要多一点,看起来GET比POST更有效。但是:
1.GET与POST都有自己的语义,不能随便混用。
2.据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。
3.并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。
GET | POST |
---|---|
GET把参数包含在URL中 | POST通过request body传递参数,抓包才能看到 |
GET在浏览器回退时是无害的 | POST会再次提交请求 |
GET请求会被浏览器主动cache | POST不会,除非手动设置 |
GET产生的URL地址可以被Bookmark | POST不可以 |
GET请求只能进行url编码 | POST支持多种编码方式 |
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。 | |
GET请求参数会被完整保留在浏览器历史记录里 | POST中的参数不会被保留。 |
GET请求在URL中传送的参数是有长度限制 | 没有 |
对参数的数据类型,GET只接受ASCII字符 | 没有限制 |
GET产生一个TCP数据;对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); | POST产生两个TCP数据包;对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。 |
(大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器最多处理64K大小的url,超过的部分,恕不处理。
- 请求
请求头:描述客户端的属性信息 - 响应
响应行:协议/协议版本号 响应状态码 状态描述
响应头:服务器的属性信息
响应体:服务器返回结果
- 响应状态码
2xx成功
3xx重定向
4xx客户端错误
5xx服务器错误 - HTTP请求方法有GET, POST, PUT, DELETE等等
GET: Retrieve data from the server.
POST: Send data to the server to create a new resource.
PUT or PATCH: Update an existing resource on the server.
DELETE: Remove a resource on the server. - 底层实现
HTTP的底层是TCP/IP。所以GET和POST的底层也是TCP/IP - 查看时间花费
overall elapsed指页面打开的时间 页面响应时间
抓包工具
- 用浏览器中的f12检查元素也可以抓包,只是不能设置断点。
no throttling设置弱网 - fiddler是一个http协议调试代理工具,能够记录并检查经过这台电脑的所有http通讯。
fiddler就是一个代理服务器放在电脑和服务器之间,可以进行拦截。
- 应用场景
定位前后端bug
弱网测试(网络差的时候测试有没有问题)
绕过界面限制直接测试服务器 - 使用方法
-
- 过滤器
filters->use filters
show only following hosts 输入hosts 域名或Ip地址都行
actions->run filterset now
- 过滤器
-
- 删除所有数据
下方终端输入cls
- 删除所有数据
-
- 查看数据
- 查看数据
-
- 弱网测试
这里就是每上传/下载1kb的所需时间(延迟时间),可以自行设置,分别是上行和下行,单位ms
下图表示开启了延迟
- 弱网测试
-
- 设置断点
before requests: 请求走到代理服务器fiddler时就会被拦截下来,不会发给服务器。
点击run to completion 就会取消掉拦截。
拦截下来可以改请求、响应的内容
- 设置断点
- 设置弱网可能出现的异常
上传文件时进度卡住不动
登陆不上货登陆后掉线
响应过程中页面控件可点击,导致崩溃
搜索不响应,多次点击后结果显示总在刷新被替换
怎么解决?先点击这个黄色部分,再改数据
- 防篡改 这个是一个很重要的安全问题。可以用这个看能不能改
相关文章:

【前后端】HTTP网络传输协议
近期更新完毕,建议关注、收藏! http请求 URL 严格意义上应该是URI http or https http不加密不安全;https加密协议(公网使用) http端口号80 https端口号443GET or POST GET和POST是HTTP请求的两种基本方法. 因为POST需…...

Fastdfs V6.12.1集群部署(arm/x86均可用)
文章目录 一、 Fastdfs 介绍二、部署 信息三、步骤tracker/storage 机器的 compose 内容storage 机器的 composetracker 与 storage 启动目录层级与配置文件测试测试集群扩容与缩减注意事项 一、 Fastdfs 介绍 FastDFS 是一款高性能的分布式文件系统,特别适合用于存…...

【LeetCode每日一题】——434.字符串中的单词数
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【时空频度】八【代码实现】九【提交结果】 一【题目类别】 字符串 二【题目难度】 简单 三【题目编号】 434.字符串中的单词数 四【题目描述】 统计字符串中的单词个…...
windows C#-使用构造函数
实例化类或结构时,将会调用其构造函数。 构造函数与该类或结构具有相同名称,并且通常初始化新对象的数据成员。 在下面的示例中,通过使用简单构造函数定义了一个名为 Taxi 的类。 然后使用 new 运算符对该类进行实例化。 在为新对象分配内存…...
[react]redux异步处理和重写useDispatch
异步代码 import { createAsyncThunk, createSlice } from reduxjs/toolkit; import { getBanner } from ../http/request; import store from /store; export const fetchBanner createAsyncThunk(recommend/banners,async (args, thunkAPI) > {const response await ge…...
基础数据结构---栈
顺序表实现 一、栈类的声明 栈是一种特殊的线性表,可以由顺序表来实现,也可以由链表来实现,这节课,我们采用顺序表来实现栈。 #include <iostream>#include <stdexcept>using namespace std;template<typename …...

【HarmonyOS之旅】DevEco Studio的安装与环境配置
目录 1 -> 下载与安装DevEco Studio 1.1 -> 运行环境要求 1.2 -> 下载和安装DevEco Studio 2 -> 配置环境变量 3 -> 配置开发环境 4 -> 开发项目准备 5 -> 实用小技巧 5.1 -> 中文插件 2 -> 简化工程目录栏 1 -> 下载与安装DevEco Stud…...

Liveweb视频融合共享平台在果园农场等项目中的视频监控系统搭建方案
一、背景介绍 在我国的大江南北遍布着各种各样的果园,针对这些地处偏僻的果园及农场等环境,较为传统的安全防范方式是建立围墙,但是仅靠围墙仍然无法阻挡不法分子的有意入侵和破坏,因此为了及时发现和处理一些难以察觉的问题&…...

Android4.4 在系统中添加自己的System Service
添加系统service时,源码限制只能添加以android开头的包名,如果不是android开头的,编译时会提示找不到对应的文件。 比如说在系统中添加一个包名为:tel.gateway.connservice的系统服务。 1.在framework/base目录下面创建如下路径&a…...
【C++】C++实现字符串大小写转换功能
在C中,实现字符串大小写转换可以通过标准库中的函数来完成。以下是两种常见的方法: 使用标准库函数std::transform std::transform是一个泛型算法,可以用来对序列中的每个元素应用一个给定的函数,并把结果存储到另一个序列中。这…...
【蓝桥杯】43696.小数第n位
小数第n位 题目描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。如果我们把有限小数的末尾加上无限多个0,那么有限小数和无限小数就都有了统一的形式。 本题的任务是:在上面的约定下,求整数除法…...

进程间通信方式---消息队列(System V IPC)
进程间通信方式—消息队列(System V IPC) 文章目录 进程间通信方式---消息队列(System V IPC)消息队列1.消息队列进程间通信原理2.msgget 系统调用3.msgsnd 系统调用4.msgrcv 系统调用5.msgctl 系统调用6.函数使用案例7.实现生产者…...
windows10 安装wsl、迁移到其他盘
介绍一下在windows10 安装和迁移wsl。由于公司发了通知不能在使用docker desktop,只能另找方法使用docker了,于是想安装一个wsl,然后在装一个docker。 安装wsl ## 查看wsl 版本 wsl.exe --list --online## 安装Ubuntu-22.04 wsl.exe --inst…...

el-divide(vue3总)
分割线 使用...
python —— 常用命令行的命令
目 录 python命令行查看安装版本查看安装路径升级pip工具安装包升级包卸载安装包查看包的信息详情查询已安装的包查询可升级的包显示包所在目录及信息搜索包使用指定版本运行脚本运行常见错误 python命令行 产品研发中通常需要使用一些小工具来辅助调试功能,比如采…...
C++ 23版的最新特性
C 23 是 C 编程语言的最新标准版本,于 2023 年正式发布,带来了诸多新特性与改进,以下是一些主要内容: 1.语言特性 1.显式对象参数(Deducing this):显式对象参数(Deducing this&…...
什么是 Memory-bound stalls,以及如何优化
Memory-bound stalls 是指在计算机系统中,程序的性能受到内存访问速度的限制,导致处理器无法高效执行指令。这种情况通常发生在 CPU 需要等待数据从内存中加载时,而不是在执行计算或处理指令时。 Memory-bound stalls 的成因 访问延迟&…...

机器学习 | 非线性回归拟合数据时的离群值检测
非线性回归是一种用于模拟变量之间复杂关系的强大工具。然而,离群值的存在可能会显着扭曲结果,导致参数估计不准确和预测不可靠。因此,检测离群值对于稳健的非线性回归分析至关重要。本文深入研究了在非线性回归中识别离群值的方法和技术&…...

使用elasticsearch-head插件修改elasticsearch数据
1、先使用elasticsearch-head插件基本查询功能找到要修改的数据 2、切换到复合查询界面 url: http://es的ip地址:端口号/索引名称/文档类型(没特殊设置过就是_doc)/文档id/ 例子:http://127.0.0.1:9200/tab_inout_record/_doc/84…...

202412月最新植物大战僵尸杂交版【V3.0.1】更新内容与下载
以下是对UI优化和新内容添加的摘要: UI优化摘要: 主界面重做:对游戏的主界面进行全面的设计更新,提升用户体验。商店重做:对游戏内的商店界面进行重新设计,以改善玩家的购物体验。选卡界面增加图鉴功能&a…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...

面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

WPF八大法则:告别模态窗口卡顿
⚙️ 核心问题:阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程,导致后续逻辑无法执行: var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题:…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...