http 301、302、304、400、405、415状态码解释

article/2025/9/16 17:54:52

 

301 moved permanently、302 found、303 see other

301/302/303都表示重定向,所以放在一起讲解。

301表示永久重定向(301 moved permanently),表示请求的资源分配了新url,以后应使用新url

302表示临时性重定向(302 found),请求的资源临时分配了新url,本次请求暂且使用新url。302与301的区别是,302表示临时性重定向,重定向的url还有可能还会改变。

303 表示请求的资源路径发生改变,使用GET方法请求新url。她与302的功能一样,但是明确指出使用GET方法请求新url

 

新url指的是,第一次请求返回的location。

 

举例说明

1、浏览器访问http://write.blog.csdn.net, csdn中“我的博客”

2、服务器,返回状态码 302(url临时改变)和location

3、浏览器,请求location指定的地址,完成请求。也就是说,浏览器一共请求了2次

 

 

 

 

 

 

 

 

 

304 not modified

客户端发送附带条件的请求时(if-matched,if-modified-since,if-none-match,if-range,if-unmodified-since任一个)服务器端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304Modified(服务器端资源未改变,可直接使用客户端未过期的缓存)。304状态码返回时,不包含任何响应的主体部分。304虽然被划分在3xx类别中,但是和重定向没有关系。

 

举例说明

请求hao123主页,js、css、图片状态码很多是304

 

随便找一个看看,会发现有header中有判断资源是否修改的设置。

 

400 bad request

表示请求的报文中存在语法错误,比如url含有非法字符。

提交json时,如果json格式有问题,接收端接收json,也会出现400 bad request

比如常见的json串,数组不应该有",但是有"了。

错误的json

 

{"name": "BeJson","url": "http://www.bejson.com","page": 88,"isNonProfit": true,"links": "[  //多了[前边的"{"name": "Google","url": "http://www.google.com"}]" //多了]前边的"
}

 

 

 

 

 

 

405 method not allowed

 

问题原因:  请求的方式(get、post、delete)方法与后台规定的方式不符合。

比如: 后台方法规定的请求方式只接受get,如果用post请求,就会出现 405 method not allowed的提示

 

 

 

415 

后台程序不支持提交的content-type,就会返回415,spring mvc错误信息如下

The server refused this request because the request entity is in a format not supported by the requested resource for the requested method.

unsupported media type

 

9年全栈开发经验,请关注个人公众号

 


http://chatgpt.dhexx.cn/article/uWTH8yAJ.shtml

相关文章

http 请求405 错误

问题 postman模拟请求springboot项目,显示台报错 详细问题 解决 由于springboot接口要求以post方式发送请求 对于postman模拟请求应当以post方式发送 原因 405错误表示方法不允许, 多数情况下, 405错误是由于GET,POST,DELETE,PUT等方法…

页面http 405错误排查

问题: 这两天pre环境前端发版后,pre就访问不到了,页面会报405错误 分析 HTTP 错误 405 405 不允许此方法 一般是方法是GET你用POST请求了 对于请求所标识的资源,不允许使用请求行中所指定的方法。请确保为所请求的资源设置了正确的…

Http405错误,方法类型也没有错,解决办法

405错误不一定是GET,POST,DELETE,PUT等方法类型不一致才可能导致的,也可能是URL的问题。 比如我的URL为http://localhost:8080/authority/list.action 由于web.xml设置了*.action的后缀过滤,这时如果我用SpringMVC的RequestMapping再去匹配这个action后缀…

Http状态405-方法不允许

Http状态405-方法不允许 1.问题与解决方法 错误描述:新创建一个简单的servlet项目。代码如下图: 启动Tomcat 浏览器输入项目正确路径。浏览器显示405错误。如下图: 解决方法:删除下列代码。 super.doGet(req.resp); super.doPo…

http请求 405错误

http请求 405错误 方法不被允许 (Method not allowed) 405错误常常伴随着POST请求,所有有人会告诉你这些: 但是时候他并不能解决你的问题。 所以我说一点不一样的。 假如你有一个user类,里面有两个属性userName,password 数据类型分别为int…

关于HTTP请求出现405状态码 Method not allowed的解决办法

如图所示: httppost请求目标网站会出现405 状态码,是因为 Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求。 所以将post请求改为get请求即可。

JS变量声明·提升·函数提升

变量声明 声明变量的关键字 在ES6之前,声明变量的关键字只有var,作用域只有:全局作用域和函数作用域; 到了ES6,引入let,const两个关键字声明变量和常量,同时引入新的作用域:块级作用域。 声明变…

js的变量提升理解

先来看一段代码 showName() console.log(myname) var myname 极客时间 function showName() {console.log(函数showName被执行); }思考一下它的输出 为什么myname在声明之前就可以输出到控制台>这就是因为变量提升 上面的代码等价于下边的代码 /* * 变量提升部分 */ //…

【JS】变量提升的本质

在开始之前,我们先来看一看如下几个现象: console.log(str); //undefined console.log(fn); //ƒ fn() {}var str "fantasy"; function fn() {} 如果对上述输出结果不感到陌生,那么你或许对变量提升有了一定了了解。 没错&…

js作用域和变量提升

作用域 作用域的分类 全局作用域 在一个js脚本中,最外层的作用域就是全局作用域,在此范围内声明的任何变量都会是全局变量,可以在程序的任意位置访问 局部作用域 函数作用域 var locales { school: function() { // 这里的school…

js之变量提升

首先 javascript 是一种弱类型、动态的、解释型的脚本语言。 弱类型:类型检查不严格,偏向于容忍隐式类型转换。 强类型:类型检查严格,偏向于不容忍隐式类型转换。 动态类型:运行的时候执行类型检查。 静态类型&…

JS中的变量提升总结

1.JS代码执行顺序 我们直觉上会认为JS的代码在执行时是由上到下一行一行执行的,但实际并不完全正确,下面的例子会证明: a haha var a console.log(a)上面的代码会输出什么呢? 如果按照我们认为的由上到下一行一行执行&#xf…

Flink Table 和 DataStream 转换

文章目录 Flink Table 和 DataStream 转换1. 表(Table) 转换为 流(DataStream)1.1 处理(仅插入)流1.1.1 fromDataStream()方法:1.1.1.1 fromDataStream(DataStream var1)1.1.1.2 fromDataStream(DataStream var1, Expression... var2)1.1.1.3…

数据流—DataStreamAPI

Hello Flink 1:构建一个典型的Flink流式应用需要一下几步: 1:设置执行环境。 2:从数据源中读取一条或多条流 3:通过一系列流式转换来实现应用逻辑。 4:选择性的将结果输出到一个或多个数据汇(用…

【Flink】DataStream API使用之转换算子(Transformation)

转换算子(Transformation) 数据源读入数据之后,就是各种转换算子的操作,将一个或者多个DataSream转换为新的DataSteam,并且Flink可以针对一条流进行转换处理,也可以进行分流或者河流等多流转换操作&#xf…

Flink-DataStream执行环境和数据读取

​编辑执行环境 创建执行环境 执行模式 触发程序执行 源算子(Source) 读取有界数据流 读取无界数据 读取自定义数据源(源算子) DataStream是一个 Flink 程序,其实就是对 DataStream 的各种转换。具体来说&#xff0c…

Flink数据流类型之间的转换(WindowedStream、DataStream、KeyedStream、AllWindowStream之间的转换)

Flink提供了一些流API,其中包括WindowedStream、DataStream、KeyedStream和AllWindowStream。 🍊WindowedStream是一种特殊的流,其中数据已按时间或数据元素的键进行分组,并且每个分组的数据都在窗口中按时间划分。这意味着&…

DataStream API

目录 原算子 准备工作,环境搭建 读取数据 从文件中读取数据 从集合中读取数据 从元素中读取数据 从source文件中读取数据 从kafka中读取数据 自定义source类型输出 转换算子 map转换 Filter转换 FlatMap转换 原算子 准备工作,环境搭建 为…

Flink学习——DataStream API

一个flink程序,其实就是对DataStream的各种转换。具体可以分成以下几个部分: 获取执行环境(Execution Environment)读取数据源(Source)定义基于数据的转换操作(Transformations)定义…

大数据开发-Flink-数据流DataStream和DataSet

文章目录 一、DataStream的三种流处理Api1.1 DataSource1.2 Transformation1.3 Sink 二、DataSet的常用Api2.1 DataSource2.2 Transformation2.3 Sink Flink主要用来处理数据流,所以从抽象上来看就是对数据流的处理,正如前面大数据开发-Flink-体系结构 &…