HTTP连接之出现400 Bad Request分析

1、400简介

400是一种HTTP状态码,告诉客户端它发送了一条异常请求。400页面是当用户在打开网页时,返回给用户界面带有400提示符的页面。其含义是你访问的页面域名不存在或者请求错误。主要分为两种。

1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。

2、请求参数有误。

400的主要有两种形式:

1、bad request意思是"错误的请求";

2、invalid hostname意思是"不存在的域名"。

2、log

2023/8/7 15:15:10:378\]\[D\]content:\ \[2023/8/7 15:15:10:378\]\\400 Bad Request\\ \[2023/8/7 15:15:10:378\]\ \[2023/8/7 15:15:10:378\]\\400 Bad Request\\ \[2023/8/7 15:15:10:378\]\\nginx\ \[2023/8/7 15:15:10:378\]\ \[2023/8/7 15:15:10:378\]\ # 3、wireshark 数据包分析 ![](https://file.jishuzhan.net/article/1690255609787584514/995c75b7099b4f6bbbd8a2200f2b3be6.jpeg) 从上面数据可以看出mbedtls的流程已经完成,到了Application Data数据帧来,然后服务器主动断开了连接。可以推断该问题大概率会device端数据的异常导致的(**语义有误,当前请求无法被******[服务器](https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8/100571?fromModule=lemma_inlink "服务器")******理解**)。 # 4、调试 (1) 异常数据 ![](https://file.jishuzhan.net/article/1690255609787584514/8eeb70d0fe0340adb4b3830566861db0.png) (2) 正常数据 ![](https://file.jishuzhan.net/article/1690255609787584514/f4cf506d7c7546af9b07192e5132b146.png) 接下来重点就看程序读取MAC地址填写异常的代码段即可。

相关推荐
宁zz6 小时前
乌班图安装jenkins
运维·jenkins
无名之逆6 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
大丈夫立于天地间6 小时前
ISIS协议中的数据库同步
运维·网络·信息与通信
rainFFrain7 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon7 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
xujiangyan_8 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
@郭小茶8 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon9 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼9 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
孤独得猿9 小时前
Qt常用控件第一部分
服务器·开发语言·qt