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

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

大家好,又见面了,我是你们的朋友全栈君。

 

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次

 

 

 

 

 

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

 

 

 

 

304 not modified

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

 

举例说明

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

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

 

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

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

 

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 301、302、304、400、405、415状态码解释

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134137.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux驱动编程中EXPORT_SYMBOL()介绍

    Linux驱动编程中EXPORT_SYMBOL()介绍一、查看内核驱动代码你会发现很多的函数带有EXPORT_SYMBOL()宏定义。二、那么EXPORT_SYMBOL的作用是什么?      EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。三、使用方法 

    2022年7月12日
    17
  • BlueZ_bluebonnet

    BlueZ_bluebonnet一、BlueZ在ubuntuPC上的基础应用1、bluez的安装及基本功能dong@ubuntu:~/bluez$lsbluez-5.47.tar.xzSPP-loopback.pydong@ubuntu:~/bluez$tarxvfbluez-5.47.tar.xzdong@ubuntu:~/bluez/bluez-5.47$./configure–pr…

    2025年8月21日
    5
  • java读写锁实现原理_java可重入锁原理

    java读写锁实现原理_java可重入锁原理一、synchronized和ReentrantLock的对比到现在,看到多线程中,锁定的方式有2种:synchronized和ReentrantLock。两种锁定方式各有优劣,下面简单对比一下:1、synchronized是关键字,就和if…else…一样,是语法层面的实现,因此synchronized获取锁以及释放锁都是Java虚拟机帮助用户完成的;ReentrantLock是类层面的…

    2022年8月12日
    10
  • 关于input type=“file”的及其files对象的深层探究

    关于input type=“file”的及其files对象的深层探究我们都知道,html5中有个inputtype=file元素。用该元素可以实现页面上传文件的功能但一般的做法只是简单的在表单中操作,我来研究一下深层东西想要了解它,就要知道它的内置对象,files页面上写一个input,然后选俩个图片,打印这个input对象$(“input[name=’file1′]”).change(function(e){console.log…

    2022年4月30日
    36
  • mysql数据库命令大全菜鸟_mysql常用命令[通俗易懂]

    mysql数据库命令大全菜鸟_mysql常用命令[通俗易懂]连接:mysql-h主机地址-u用户名-p用户密码(注:u与root可以不用加空格,其它也一样)创建授权:grantselecton数据库.*to用户名@登录主机identifiedby\”密码\”修改密码:mysqladmin-u用户名-p旧密码password新密码删除授权:revokeselect,insert,update,deleteom*.*f…

    2022年6月17日
    36
  • 简单倒计时代码(html时间倒计时代码)

    大家好,又见面了,我是你们的朋友全栈君。

    2022年4月15日
    80

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号