总结梳理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://www.mzph.cn/news/66179.shtml

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

相关文章

恢复数据的利器:易我数据恢复终身技术版v16.2.0.0

EaseUS Data Recovery Wizard为全球提供数据恢复方案,用于误删数据数据,电脑误删文件恢复,格式化硬盘数据恢复,手机U盘数据恢复等,RAID磁盘阵列数据恢复,分区丢失及其它未知原因丢失的数据恢复,简单易用轻松的搞定数据恢复。 特点描述 - 易我数据恢复中文便携版,无…

STM32f103入门(10)ADC模数转换器

ADC模数转换器 ADC简介AD单通道初始化代码编写第一步开启时钟第二步 RCCCLK分频 6分频 72M/612M第三步 配置GPIO 配置为AIN状态第四步,选择规则组的输入通道第五步 用结构体 初始化ADC第六步 对ADC进行校准编写获取电压函数初始化代码如下 Main函数编写 ADC简介 ADC…

植物根系基因组与数据分析

1.背景 这段内容主要是关于植物对干旱胁迫的反应,并介绍了生活在植物体内外以及根际的真菌和细菌的作用。然而,目前对这些真菌和细菌的稳定性了解甚少。作者通过调查微生物群落组成和微生物相关性的方法,对农业系统中真菌和细菌对干旱的抗性…

windows主机和Ubuntu虚拟机共享设置

参考文章 Ubuntu Linux 与主机共享文件夹 vim 修改文件出现错误 “ E45: ‘readonly’ option is set (add to override)“ vim退出时报错“E212: Cant open file for writing”的解决办法 VMware 安装后,安装Ubuntu 20.04一路顺利。 1,在VMware设置…

Qt QScrollArea使用

在使用QScrollArea时,有几个注意事项需要考虑: 设置合适的小部件(widget)大小策略: 确保将要放置在QScrollArea中的小部件设置为合适的大小策略。这将确保小部件可以根据需要进行扩展,以适应滚动区域的大小…

Qt应用开发(基础篇)——输入对话框 QInputDialog

一、前言 QInputDialog类继承于QDialog,是一个简单方便的对话框,用于从用户获取单个值。 对话框窗口 QDialog QInputDialog输入对话框带有一个文本标签、一个输入框和标准按钮。输入内容可以字符、数字和选项,文本标签用来告诉用户应该要输入…

LAMP介绍与配置

一.LAMP 1.1.LAMP架构的组成 CGI(通用网关接口)和FastCGI(快速公共网关接口)都是用于将Web服务器与后端应用程序(如PHP、Python等)进行交互的协议/接口。 特点 CGI FastCGI 运行方式 每个请求启动…

死信队列理解与使用

一、简介 在rabbitMQ中常用的交换机有三种,直连交换机、广播交换机、主题交换机; 直连交换机中队列与交换机需要约定好routingKey去进行绑定; 广播交换机并不需要routingKey绑定,只需队列与交换机绑定即可; 主题交换机最大的特…

Day01-Java基础语法

目录 1. 人机交互 1.1 什么是cmd? 1.2 如何打开CMD窗口? 1.3 常用CMD命令 1.4 CMD练习 1.5 环境变量 2. Java概述 1.1 Java是什么? 1.2下载和安装 1.2.1 下载 1.2.2 安装 1.2.3 JDK的安装目录介绍 1.3 HelloWorld小案例 2.3.1 …

​7.1 项目1 学生通讯录管理:文本文件增删改查(C++版本)(自顶向下设计+断点调试) (A)​

C自学精简教程 目录(必读) 作业目标: 这个作业中,你需要综合运用之前文章中的知识,来解决一个相对完整的应用程序。 作业描述: 1 在这个作业中你需要在文本文件中存储学生通讯录的信息,并在程序启动的时候加载这些…

python+requests实现接口自动化测试

这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sql…

简单了解网络传输介质

目录 一、同轴电缆 二、双绞线 三、光纤 四、串口电缆 一、同轴电缆 10BASE前面的数字表示传输带宽为10M,由于带宽较低、现在已不再使用。 50Ω同轴电缆主要用来传送基带数字信号,因此也被称作为基带同轴电缆,在局域网中得到了广泛的应用…

Prompt GPT推荐社区

大家好,我是荷逸,这次给大家带来的是我日常学习Prompt社区推荐 Snack Prompt 访问地址:http://snackprompt.com Snack Prompt是一个采用的Prompts诱导填空式的社区,它提供了一种简单的prompt修改方式,你只需要输入关…

一款windows的终端神奇,类似mac的iTem2

终于找到了一款windows的终端神奇。类似mac的iTem2 来,上神器 cmder cmder是一款windows的命令行工具,就是我们的linux的终端,用起来和linux的命令一样。所以我们今天要做的是安装并配置cmder ![在这里插入图片描述](https://img-blog.csdni…

Oracle权限语句

授予权限:grant 权限 to 用户名; 撤销权限:revoke 权限 from 用户名; 常用: 创建用户: create user zhangsan identified by zhangsan; grant connect, resource to zhangsan; //授权zhangsan用户连接权限 grant create …

计算机网络之5层网络协议

文章目录 引言一、OSI七层模型二、TCP/IP参考模型三、网络协议的概念和作用四、TCP/IP参考模型每层详细介绍1.物理层2.数据链路层1. 基本概念2.MAC地址3.ARP协议 3. 网络层1. 基本概念2.ip协议3.子网掩码 4. 传输层1. 基本概念2. 协议3. TCP(三次握手四次挥手&#…

Python所有方向的学习路线图!!

学习路线图上面写的是某个方向建议学习和掌握的知识点汇总,举个例子,如果你要学习爬虫,那么你就去学Python爬虫学习路线图上面的知识点,这样学下来之后,你的知识体系是比较全面的,比起在网上找到什么就学什…

MATLAB中circshift函数转化为C语言

背景 有项目算法使用matlab中circshift函数进行运算,这里需要将转化为C语言,从而模拟算法运行,将算法移植到qt。 MATLAB中circshift简单介绍 circshift是循环移位函数。可以使用于数组和矩阵元素的循环移位。 当A是数组 Bcircshift(A,p);如果…

Axes3D绘制3d图不出图解决办法【Python】

运行下面一段代码​: import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3D#这里设函数为y3x2x_data [1.0,2.0,3.0]y_data [5.0,8.0,11.0]​def forward(x): return x * w b​def loss(x,y): y_pred forward(x) …

实现excel导出最简单方式

今天来记录一下导出excel的实现方式&#xff0c;导出的格式是xlsx的文件。 这里用到的是hutool的工具包&#xff0c;依赖如下&#xff1a; <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.5&…