1.HTTP的正确响应码

一、1XX (1开头)

请求已经被接收到了,需要进一步处理才能完成,HTTP1.0不支持;

  • 100 Continue 上传大文件前先让服务器准备,由客户端发起请求中携带Except:100-continue 头部触发
  • 101 Switch Protocols协议升级使用,由客户端发起的请求中携带Upgrade头部,如升级WebSocket/http2.0
  • 102 Processing WebDev请求可能包含许多涉及文件操作的子请求,等待很长时间才能完成子请求,该代码表示服务器已经收到并正在处理请求,但无响应可用,这样可以防止客户端超时,并假设请求丢失。

二、2xx(2开头)

成功处理请求

  • 200 OK:成功返回响应
  • 201 Created:有新资源在服务器端被成功创建
  • 202 Accept:服务器接收并开始处理请求,但请求未处理完成,这样一个模糊的概念是有意如此设计,可以覆盖更多的场景。例如异步,需要长时间处理的任务
  • 203 Non-Authoritative Information:当代理服务器修改了origin-serve的原始响应包体时(例如更换了HTML中的元素值),代理服务器可以通过修改200为203的方式告知客户端这一事实,方便客户端为这一行为作出相应的处理,203响应可以被缓存
  • 204 No Content:成功执行了请求且不携带响应包体,并暗示客户端无需更新当前的页面视图
  • 205 Reset Content:成功执行了请求且不携带响应包体,同时指明客户端需要更新当前页面视图
  • 206 Partial Content:使用Range协议时返回部分响应内容时的响应码(多线程断点下载)
  • 207 Multi-Status:RFC4918 在WebDev协议中以XML返回多个资源的状态
  • 208 Already Reported:RFC5842 ,为避免相同集合下资源在207响应码下重复上报,使用208可以使用父集合的响应码

三、3xx(3开头)

重定向使用Location指向的资源或者缓存中的资源。在RFC2068中规定客户端的重定向次数不应该超过5次,以防止死循环

  • 300 Multiple Choices:资源有多种表述,通过300返回给客户端后由其自行选择访问哪一种表述。由于缺乏明确的细节,300很少使用
  • 301 Moved Permanently:资源永久性的重定向到另一个URI中(浏览器可以缓存)
  • 302 Found:资源临时的重定向到另一个URI中
  • 303 See Other:重定向的其它资源,常用于post/put等方法的响应中
  • 304 Not Modified:当客户端拥有可能过期的缓存时,会携带缓存的标识etag、时间等信息询问服务器缓存是否仍可复用,而304是告诉客户端可以复用缓存
  • 307 Temporary Redirect:类似302 ,但明确重定向后请求方法必须与原请求方法相同,不得改变
  • 308 Permanent Redirect:类似301,但明确重定向后请求方法必须与原请求方法相同,不得改变

2.HTTP的错误响应码

四、4xx(4开头)

  • 400 Bad Request:服务器认为客户端出现了错误,但不能明确判断为以下哪种错误时使用此错误码。例如HTTP请求格式错误
  • 401 Unauthorized:用户认证信息缺失或者不正确,导致服务器无法处理请求
  • 407 Proxy Authentication Required:对需要经由代理的请求,认证信息未通过代理服务器的验证
  • 403 Forbidden:服务器理解请求的含义,但没有权限执行此请求,比如请求某个服务端目录下的音视频资源
  • 404 Not Found:服务器没有找到对应的资源
  • 410 Gone:服务器没有找到对应的资源,且明确的知道该位置永久性找不到该资源
  • 405 Method Not Allowed:服务器不支持请求行中的method方法
  • 406 Not Acceptable:对客户端指定的资源表述不存在(例如对语言或者编码有要求),服务器返回列表供客户端选择
  • 408 Request Timeout:服务器接收请求超时
  • 409 Conflict:资源冲突,例如上传文件时目标位置已经存在版本更新的资源
  • 411 Length Required:如果请求包含有包体且未携带Content-Length头部,且不属于chunk类请求时,返回411
  • 412 Precondition Failed:复用缓存时传递的If-Unmodified-Since或If-None-Match头部不被满足
  • 413 Payload Too Large/Request Entity Too Large:请求的包体超出服务器能处理的最大长度
  • 414 URI Too Long:请求的URI超出服务器能接受的最大长度
  • 415 Unsupported Media Type:上传的文件类型不被服务器支持
  • 416 Range Not Satisfiable:无法提供Range请求中指定的那段包体
  • 417 Expectation Failed:对于Expect 请求头部期待的情况无法满足时的响应码
  • 421 Misdirected Request:服务器认为这个请求不该发送给它,因为它没有能力处理
  • 426 Upgrade Required:服务器拒绝基于当前HTTP协议提供服务,用过Upgrade头部告知客户端必须升级协议才能继续处理
  • 428 Precondition Required:用户请求中缺失了条件类头部,例如If-match
  • 429 Too Many Requests:客户端发送请求的速率过快
  • 431 Request Header Field Too Large:请求的HEADER 头部大小超过限制
  • 451 Unavailable For Legal Reasons:RFC7725,由于法律原因资源不可访问

五、5xx(5开头)

服务器端出现错误

  • 500 Internal Server Error:服务器内部错误,且不属于以下错误类型
  • 501 Not Implemented:服务器不支持实现请求所需要的功能
  • 502 Bad Gateway:代理服务器无法获取到合法响应
  • 503 Service Unavailable:服务器资源尚未准备好处理当前请求(例如服务端限流)
  • 504 Gateway Timeout:代理服务器无法及时的从上游获得响应
  • 505 HTTP Version Not Support:请求使用的HTTP协议版本不支持
  • 507 Insufficient Storage:服务器没有足够的空间处理请求
  • 508 Loop Detected:访问资源时检测到循环
  • 511 Network Authentication Required:代理服务器发现客户端需要进行身份验证才能获得网络访问权限

HTTP响应码,大详解相关推荐

  1. HTTP响应码大全详解

    Http响应码大全 常见响应码: ​ 200(成功),301(永久移动),302(临时移动),400(错误请求),401(未授权),403(请求被禁止),404(未找到),500(服务器内部错误) 1 ...

  2. 使用Gin框架集成JWT,源码、详解、面试问题

    使用Gin框架集成JWT,源码.详解.面试问题 一.什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). ...

  3. http状态码查询,各种返回码的详解(200、206、500、416、403、404)

    http状态码查询,各种返回码的详解(200.206.500.416.403.404) 文章由帮客之家于2013-11-25 12:11:44分享 评论(324) HTTP状态码,我都是现查现用. 我 ...

  4. python装饰器实例-python装饰器实例大详解

    原标题:python装饰器实例大详解 一.作用域 在python中,作用域分为两种:全局作用域和局部作用域. 全局作用域是定义在文件级别的变量,函数名.而局部作用域,则是定义函数内部. 关于作用域,我 ...

  5. 工业机器人码垛教学实施_工业机器人应用案例码垛详解

    工业机器人应用案例码垛详解 随着科技的进步以及现代化进程的加快,人们对搬运速度的要求越来越 高,传统的人工码垛只能应用在物料轻便.尺寸和形状变化大.吞吐量小的场 合,这已经远远不能满足工业的需求,机器 ...

  6. Android 源码编译详解【合集篇】

    Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...

  7. Android四大组件之bindService源码实现详解

        Android四大组件之bindService源码实现详解 Android四大组件源码实现详解系列博客目录: Android应用进程创建流程大揭秘 Android四大组件之bindServic ...

  8. HTTP状态码100-500+详解

    HTTP状态码100-500+详解 1xx响应信息提示   这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx  • 100 - Continue 初始的请求已经接受,客 ...

  9. HTTP请求响应系列02_响应报文的详解

    响应报文 1.响应报文的详解 上篇文字讲的"请求报文",本篇主要解释响应报文包括的内容. 响应报文的内容也包括三部分,分别是: 响应行, 响应头, 响应体.这三部分放的都是信息.是 ...

  10. jsp漂亮的登录界面源码_【案例+源码】详解MVC框架模式及其应用

    案例+源码]详解MVC框架模式及其应用 写在开头: 首先我们需要知道,框架模式.模式.开发模式是三种不同的概念,但他们的目的都一样:解耦! 1.关于MVC框架模型 MVC是三个单词的缩写: M,Mod ...

最新文章

  1. 【栈】栈的基本操作实现模板的总结
  2. 利用css布局效果图
  3. 长文详解基于并行计算的条件随机场CRF
  4. rocketMq 顺序消费
  5. 深度学习(6) - 循环神经网络
  6. 深圳大学计算机就业报告,深圳大学2020届毕业生就业质量报告.pdf
  7. uos系统终端调试linux命令,uos怎么开启开发者模式
  8. 夺命雷公狗—angularjs—15—内置封装好的计时器$interval和$timeout
  9. endnote 参考文献加序号_EndNote插入文献序号排序混乱怎么破 | 科研动力
  10. 程序员的最高境界:呆若木鸡
  11. Tippy.js - 免费开源且高度可定制的气泡提示独立组件
  12. Metasploit Framework —— Exploit
  13. java中实现工厂日历_Java实现的日历功能完整示例
  14. 如何利用MSDN在线查询MFC里面的API
  15. 双指针法总结之倚天屠龙
  16. 如何使用 Go 语言重新思考可视化编程?
  17. 干货!浏览器提示“您与此网站之间建立的连接不安全”的解决方案
  18. 计算机设备名称英语词汇(1)
  19. PHP+HTML 实现blob链接视频播放
  20. 第二部分 实体、属性和关系

热门文章

  1. 360 N6手机 打开Log打印功能
  2. Vim 复制粘贴探秘 ----vim 粘贴 取消缩进zz
  3. 亲身实感十多年的面试官面试的题目
  4. 横穿马路被电视台抓住采访时要沉着应答
  5. 常用的 jvm 调优的参数都有哪些?
  6. python字符串拼接变量_python拼接变量、字符串的3种方法
  7. Python 抓包工具 | Fiddler 下载、安装教程
  8. 用于数据收集的Python库
  9. 最全笔记程序推荐收集
  10. c4d oc渲染农场_通过非常成功的NC农场补助计划获得4,100个新工作