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

总结梳理HTTP状态码

前端开发中和后端联调时总会遇到一些状态码的问题,本文用于介绍一些常见的状态码,以及遇到这些状态码应该如何进行排查。

400 Bad Request - 请求无效。

表示客户端发送的请求存在语法错误,服务器无法理解或处理该请求的语法或参数。这通常是由于客户端发送的请求参数、请求头或请求体的格式不正确引起的。

要解决 HTTP 400 错误,可以尝试以下几个步骤:

  1. 检查请求的 URL:确保请求的 URL 是正确的,并且没有任何拼写错误或错误的路径。
    1. 路径拼写错误,大小写等。
  2. 检查请求的参数:如果请求中包含参数,确保参数的格式正确,并且没有缺失或错误的值。确保参数符合服务器预期的格式要求。
    1. 同事在controller层使用了一个对象去接收前端传递过来的对象参数。后端对象 { private Date startTime;private String name;},前端传递过来的是 startTime 是String 类型的。
  3. 检查请求的请求头:检查请求的请求头是否正确设置。某些请求头可能是必需的,例如 Content-Type,确保正确设置这些请求头。
  4. 检查请求的请求体:如果请求包含请求体(例如 POST 或 PUT 请求),确保请求体的格式正确,并且符合服务器预期的格式要求。
  5. 检查服务器端配置:有时,HTTP 400 错误可能是由服务器端配置问题引起的。检查服务器的日志文件或错误消息,以获取更多关于错误原因的信息。
  6. 使用调试工具:使用浏览器的开发者工具或其他网络调试工具,查看请求和响应的详细信息。检查请求和响应的头部、参数、数据等,以确定具体出现了什么问题。

403 Forbidden - 服务器拒绝请求

客户端没有访问所请求资源的权限 。它通常用于以下情况:

  1. 访问权限限制:服务器根据权限设置或身份验证要求,拒绝了客户端对特定资源的访问。这意味着客户端没有足够的权限来查看或操作请求的资源。
  2. IP地址限制:服务器可能会根据IP地址或来源进行访问控制,如果客户端的IP地址不在允许的范围内,服务器将返回403 Forbidden。
  3. 文件系统权限:当服务器上的文件或目录没有适当的权限设置时,服务器可能会返回403 Forbidden,阻止客户端对这些资源的访问。
  4. 防止恶意行为:服务器可以使用403 Forbidden来防止某些恶意行为,如暴力破解、恶意爬取等。

在HTTP响应中,服务器通常会提供一些额外的信息来解释拒绝访问的原因。

需要注意的是,403 Forbidden与401 Unauthorized状态码的区别在于,401表示需要进行身份验证,而403表示已进行身份验证但被服务器拒绝访问。

404 Not Found - 请求的资源不存在.

在访问一个网站时收到404 Not Found错误时,表示服务器无法找到所请求的资源。这可能是由于以下原因之一:资源(图片等静态资源)的url有问题。

  1. 资源不存在:请求的特定页面、文件或资源在服务器上不存在。这可能是由于网站结构变更、页面被删除或重命名,或者提供的URL有误。解决方法:首先,确保输入的URL正确无误。检查URL的拼写、大小写和特殊字符等。如果是通过点击链接访问的网页,请尝试刷新页面或返回到主页,然后再次尝试访问目标页面。
  2. 错误的网址重定向:如果网站进行了重定向操作,但是重定向目标无效或不正确配置,可能会导致404错误。解决方法:如果遇到了错误的网址重定向,请尝试返回到网站的主页,然后通过导航或搜索来找需要的资源。
  3. 资源权限问题:某些资源可能被服务器配置为限制访问,只允许特定用户或特定条件下的访问。

405 方法不允许:该状态码表示请求中使用的方法不被允许用于所请求的资源。

通常情况下,服务器识别到了HTTP方法(例如GET、POST、PUT、DELETE),但无法使用给定的方法来满足请求。服务器可能会在响应中提供一个Allow头部,用于指定所请求资源允许的方法。

例如,如果客户端向一个只允许GET请求的资源发送了PUT请求,服务器可能会以405方法不允许的状态码进行响应。

以下是405状态码的示例响应头部:

HTTP/1.1 405 Method Not Allowed
Allow: GET, POST

该响应表示所请求资源仅允许使用GET和POST方法,不支持其他方法,如PUT或DELETE。

4开头的都是还没有进入后端的,需要在前端根据接口进行排查。
5开头的是后端报错,大概率是后端有问题了。

500 Internal Server Error - 服务器内部错误,无法完成请求的处理

502 Bad Gateway - 作为代理或网关的服务器收到无效响应。

504 Gateway Timeout - 作为代理或网关的服务器在规定时间内未能从上游服务器接收到请求

相关文章:

总结梳理HTTP状态码

前端开发中和后端联调时总会遇到一些状态码的问题,本文用于介绍一些常见的状态码,以及遇到这些状态码应该如何进行排查。 400 Bad Request - 请求无效。 表示客户端发送的请求存在语法错误,服务器无法理解或处理该请求的语法或参数。这通常…...

MySQL 8.0(winx64)安装笔记

一、背景 从MySQL 5.6到5.7,再到8.0,版本的跳跃不可谓不大。安装、配置的差别也不可谓不大,特此备忘。 二、过程 (1)获取MySQL 8.0社区版(MySQL Community Server)   从 官网 字样 “MySQL …...

vue封装wangEditor

components下面创建WangEditor.vue <template><div><toolbarstyle"border-bottom: 1px solid #ccc":editor"editor":defaultConfig"toolbarConfig":mode"mode"/><editorstyle"height: 500px; overflow-y: …...

【Spring Boot 源码学习】深入 FilteringSpringBootCondition

走近 AutoConfigurationImportFilter 引言往期内容主要内容1. match 方法2. ClassNameFilter 枚举类3. filter 方法 总结 引言 前两篇博文笔者带大家从源码深入了解了 Spring Boot 的自动装配流程&#xff0c;其中自动配置过滤的实现由于篇幅限制&#xff0c;还未深入分析。 …...

docker 笔记6:高级篇 DockerFile解析

目录 1.是什么&#xff1f; 2.构建三步骤 3.DockerFile构建过程解析 3.1 Dockerfile内容基础知识 3.2Docker执行Dockerfile的大致流程 总结 4.DockerFile常用保留字指令 5.案例&#xff1a;自定义镜像 5.1 要求&#xff1a; Centos7镜像具备vimifconfigjdk8 5.2编写 5…...

微信小程序navigateTo进入页面后返回原来的页面需要携带数据回来

需求 如图&#xff1a;点击评论后会通过wx.navigateTo进入到评论页面&#xff0c;评论完返回count给原页面&#xff0c;重新赋值实现数量动态变化&#xff0c;不然要刷新这个页面才会更新最新的评论数量。 实现方式&#xff1a; 在评论页面通过wx.setStorageSync(‘data’…...

Python照片压缩教程详解

介绍 在日常的编程工作中&#xff0c;我们经常需要处理图像&#xff0c;例如上传、下载、显示、编辑等。有时候&#xff0c;我们需要对图像进行压缩&#xff0c;以减少占用的空间和带宽&#xff0c;提高加载速度和用户体验。那么&#xff0c;如何用Python来实现图像压缩呢&…...

软路由的负载均衡设置:优化网络性能和带宽利用率

在现代网络环境中&#xff0c;提升网络性能和最大化带宽利用率至关重要。通过合理配置软路由IP的负载均衡设置&#xff0c;可以有效地实现这一目标&#xff0c;并提高整体稳定性与效果。本文将详细介绍如何进行软路由IP的负载均衡设置&#xff0c;从而优化网络表现、增加带宽利…...

CH06_第一组重构(上)

提取函数&#xff08;Extract Function |106&#xff09; 曾用名&#xff1a;提炼函数&#xff08;Extract Function&#xff09; 反向重构&#xff1a;内联函数&#xff08;115&#xff09; 示例代码 function printOwing(invoice) {printBanner();let outstanding calcul…...

RHCSA-VMware Workstation Pro-Linux基础配置命令

1.代码命令 1.查看本机IP地址&#xff1a; ip addr 或者 ip a [foxbogon ~]$ ip addre [foxbogon ~]$ ip a 1&#xff1a;<Loopback,U,LOWER-UP> 为环回2网卡 2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP>为虚拟机自身网卡 2.测试网络联通性&#xff1a; [f…...

YOLO-NAS详细教程-姿势估计实现

姿势估计是一项计算机视觉任务,涉及估计图像或视频中物体或人的位置和方向。它通常涉及识别特定的关键点或身体部位(例如关节),并确定它们的相对位置和方向。姿势估计有许多应用,包括机器人、增强现实、人机交互和运动分析。 自上而下和自下而上是姿态估计中两种常用的方法…...

【扩散模型 李宏毅B站教学以及基础代码运用】

李宏毅教学视频&#xff1a; Link1 B站DDPM公式推导以及代码实现&#xff1a; Link2 这个视频里面有论文里面的公式推导&#xff0c;并且1小时10分开始讲解实例代码。 文章目录 扩散模型概念&#xff1a;Diffusion Model工作原理&#xff1a;影像生成模型本质上的共同目标B站…...

SpringBoot隐藏文件

1.设置 2.输入file Types 3.点击忽略文件或者文件夹 4.成功...

常见数据库介绍对比之SQL关系型数据库

1.关系型数据库介绍 关系型数据库是一种基于关系模型的数据库&#xff0c;它使用表格来组织和存储数据。下面是一些常见的关系型数据库&#xff1a; 1.1. MySQL MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛用于Web应用程序和企业级…...

OLED透明屏模块:引领未来显示技术的突破

OLED透明屏模块作为一项引领未来显示技术的突破&#xff0c;以其独特的特点和卓越的画质在市场上引起了广泛关注。 根据行业报告&#xff0c;预计到2025年&#xff0c;OLED透明屏模块将占据智能手机市场的20%份额&#xff0c;并在汽车导航系统市场中占据30%以上份额。 那么&am…...

Python_操作记录

1、Pandas读取数据文件&#xff08;以文本文件作为示例&#xff09;&#xff0c;sep表示间隔&#xff0c;headerNone表示无标题行 df pd.read_table("data/youcans3.dat", sep"\t", headerNone) 2、线性规划问题求解 1&#xff09;问题定义&#xff0c;…...

常用激活函数整理

最近一边应付工作&#xff0c;一边在补足人工智能的一些基础知识&#xff0c;这个方向虽然新兴&#xff0c;但已是卷帙浩繁&#xff0c;有时不知从何入手&#xff0c;幸亏有个适合基础薄弱的人士学习的网站&#xff0c;每天学习一点&#xff0c;积跬步以至千里吧。有像我一样学…...

uniapp 地图跳转到第三方导航软件 直接打包成apk

// 判断是否存在导航软件judgeHasExistNavignation() {let navAppParam [{pname: com.baidu.BaiduMap,action: baidumap://}, // 百度{pname: com.autonavi.minimap,action: iosamap://}, // 高德{pname: com.tencent.map,action: tencentmap://}, // 腾讯];return navAppPara…...

CentOS 8 通过YUM方式升级最新内核

CentOS 8 通过YUM方式升级最新内核 查看当前内核 uname -r 4.18.0-193.6.3.el8_2.x86_64导入 ELRepo 仓库的公钥&#xff1a; rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org安装升级内核相关的yum源仓库(安装 ELRepo 仓库的 yum 源) yum install https://www…...

java 版本企业招标投标管理系统源码+功能描述+tbms+及时准确+全程电子化

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…...

Rust 语言特性:impl 与 方法

在其他语言里&#xff0c;我们通常不会特别区分“函数”和“方法”两个术语&#xff0c;特别是在 Java 这类纯面向对象编程语言里。因为“函数”和“方法”是一回事。在 C 里&#xff0c;情形稍有不同&#xff0c;因为它是面向对象和面向过程的多范式语言&#xff0c;即有独立存…...

Pydantic序列化避坑指南:model_dump vs dict、exclude/include高级用法与SerializeAsAny解析

Pydantic序列化避坑指南&#xff1a;model_dump vs dict、exclude/include高级用法与SerializeAsAny解析 在Python生态中&#xff0c;Pydantic已经成为数据验证和序列化的标杆工具。但许多开发者在实际使用中&#xff0c;常常会遇到一些看似简单却容易踩坑的序列化问题。本文将…...

ABAQUS结果导出太麻烦?试试这个隐藏技巧,5分钟搞定截面节点应力数据到Excel

ABAQUS结果导出效率革命&#xff1a;5分钟精准捕获截面节点数据的全流程指南 在结构仿真分析领域&#xff0c;数据后处理往往消耗工程师40%以上的工作时间。当我第一次面对ABAQUS中复杂的应力云图&#xff0c;试图提取某个螺栓连接面的节点应力数据时&#xff0c;整整浪费了两天…...

告别命令行!用VSCode插件一键搞定ESP-IDF环境(ESP32/S3保姆级教程)

告别命令行&#xff01;用VSCode插件一键搞定ESP-IDF环境&#xff08;ESP32/S3保姆级教程&#xff09; 当一块崭新的ESP32开发板躺在桌面上时&#xff0c;许多开发者会陷入两难&#xff1a;既渴望体验这款低功耗Wi-Fi/蓝牙双模芯片的强大性能&#xff0c;又对繁琐的环境配置望而…...

金融数据宝藏库:沪深Level2与高频数据拆解

被高频数据搞懵了&#xff1f;硬盘空间就是这么没的。刚入坑那会儿&#xff0c;总想用最细的数据&#xff0c;结果光下载和整理就耗掉大半天&#xff0c;策略还没写呢。 今天简单聊聊几种常见的高频数据到底有啥区别&#xff0c;主要是沪深股票这块。数据来源是CMES金融数据库&…...

为什么90%的工程师不敢用ChatGPT交付生产代码?——基于12家头部科技公司内部审计报告的独家解读

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;为什么90%的工程师不敢用ChatGPT交付生产代码&#xff1f;——基于12家头部科技公司内部审计报告的独家解读 信任鸿沟&#xff1a;不是能力不足&#xff0c;而是责任不可追溯 12家受访企业&#xff08…...

从零构建工业级垃圾邮件分类器:端到端实战指南

1. 项目概述&#xff1a;从零构建一个真正能用的垃圾邮件分类器你打开邮箱&#xff0c;每天收到几十封邮件&#xff0c;其中总混着几封标题耸动、内容空洞、发件人可疑的“优惠券”“中奖通知”“账户异常提醒”——它们不是广告&#xff0c;而是典型的垃圾邮件&#xff08;Spa…...

G-Helper:释放华硕笔记本性能的免费开源轻量控制神器

G-Helper&#xff1a;释放华硕笔记本性能的免费开源轻量控制神器 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exp…...

AI时代管理者必备的10项核心能力地图

1. 项目概述&#xff1a;这不是一份“领导力清单”&#xff0c;而是一张AI时代管理者的生存地图“10 Essential Skills for AI Leaders”——看到这个标题&#xff0c;很多人第一反应是点开、收藏、转发到“管理者必读”群&#xff0c;然后继续用Excel做季度复盘、用PPT讲战略愿…...

避开BLE开发第一个坑:搞懂广播帧里的TxAdd、ChSel字段,让你的智能硬件不再‘隐身’

避开BLE开发第一个坑&#xff1a;广播帧关键字段解析与实战排查指南 当你第一次将精心编写的固件烧录进蓝牙芯片&#xff0c;满心期待地用手机扫描设备时&#xff0c;却发现屏幕上空空如也——这种"设备隐身"的挫败感&#xff0c;几乎每个BLE开发者都经历过。问题的根…...