HTTP 状态码

简介: HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。让我们通过本文的学习,好好了解一下状态码的工作机制。

HTTP 状态码负责表示客户端 HTTP 请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。让我们通过本文的学习,好好了解一下状态码的工作机制。

1 状态码告知从服务器端返回的请求结果

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。
借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。

数字中的第一位指定了响应类别,后两位无分类


img_acecaf120ee2e42f5e5951ded03db0ec.png
这里写图片描述

只要遵守状态码类别的定义,即使改变 RFC2616 中定义的状态码,或服务器端自行创建状态码都没问题。

接下来,我们就介绍一下这些具有代表性的几个状态码。

2 2XX 成功

2XX 的响应结果表明请求被正常处理了。

2.1 200 OK

img_e853920e3a42546dafb22aa87a801343.png
这里写图片描述

表示从客户端发来的请求在服务器端被正常处理了。
在响应报文内,随状态码一起返回的信息会因方法的不同而发生改变。
比如

  • 使用 GET 方法时,对应请求资源的实体会作为响应返回;
  • 使用 HEAD 方法时,对应请求资源的实体首部不随报文主体作为响应返回(即在响应中只返回首部,不会返回实体的主体部
    分)。

3 3XX 重定向

3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。

3.1 301 Moved Permanently

img_2620aeb08d41722c3eafeb9f948c1a3c.png
这里写图片描述

永久性重定向。该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的 URI。也就是说,如果已经把资源对应的 URI保存为书签了,这时应该按 Location 首部字段提示的 URI 重新保存。

像下方给出的请求 URI,当指定资源路径的最后忘记添加斜杠“/”,就会产生 301 状态码。

http://example.com/sample

3.2 302 Found

img_ae621b01e90872e96720375ed3a85994.png
这里写图片描述

临时性重定向。该状态码表示请求的资源已被分配了新的 URI,希望用户(本次)能使用新的 URI 访问。

和 301 Moved Permanently 状态码相似,但 302 状态码代表的资源不是被永久移动,只是临时性质的。
换句话说,已移动的资源对应的URI 将来还有可能发生改变。比如,用户把 URI 保存成书签,但不会像 301 状态码出现时那样去更新书签,而是仍旧保留返回 302 状态码的页面对应的 URI

4 4XX 客户端错误

4XX 的响应结果表明客户端是发生错误的原因所在。

4.1 400 Bad Request

img_3ed9e76078e6833f948dc11d9e9630e6.png
这里写图片描述

该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。

4.2 404 Not Found

该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。

5 5XX 服务器错误

5XX 的响应结果表明服务器本身发生错误。

5.1 500 Internal Server Error

img_866b41efbbde27a5e7ff8b6848c9105d.png
这里写图片描述

该状态码表明服务器端在执行请求时发生了错误。也有可能是 Web应用存在的 bug 或某些临时的故障。

目录
相关文章
|
5天前
|
存储 缓存 安全
第二章 HTTP请求方法、状态码详解与缓存机制解析
第二章 HTTP请求方法、状态码详解与缓存机制解析
|
7天前
|
缓存 前端开发 UED
前端常见的HTTP状态码
【4月更文挑战第6天】HTTP状态码是服务器对请求的响应状态,分为1xx(处理中)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)五大类。常见的如200(成功)、404(未找到)、500(服务器内部错误)。理解这些状态码有助于优化前端应用的请求处理和调试。
17 1
|
7天前
|
缓存 大数据 应用服务中间件
什么是http状态码?常见的有哪些(3个)?分别代表什么含义?
什么是http状态码?常见的有哪些(3个)?分别代表什么含义?
|
7天前
HTTP协议的状态码有哪些常见的类型,分别代表什么意思?
HTTP状态码三数字分五类:1xx(信息),2xx(成功),3xx(重定向),4xx(客户端错误),5xx(服务器错误)。例如,200表示请求成功,301表示永久重定向,404表示未找到,500表示服务器内部错误。这些代码帮助诊断网络问题。
24 2
|
7天前
|
缓存 UED 开发者
HTTP常用状态码详解
HTTP常用状态码详解
|
7天前
|
XML 存储 缓存
四、《图解HTTP》- 状态码
四、《图解HTTP》- 状态码
46 0
|
6天前
|
数据安全/隐私保护
Servlet 教程 之 Servlet HTTP 状态码 1
Servlet教程讲解了HTTP状态码,如200(成功)、404(未找到)和500(服务器错误)。状态码帮助标识HTTP响应的状态,包括继续请求、重定向、权限问题、方法不允许和服务器故障等不同情况。这些代码是通信中的关键反馈元素。
17 3
|
6天前
状态码对于理解HTTP请求和响应的流程,以及调试网络问题非常重要
【5月更文挑战第15天】HTTP状态码由三位数字表示,分为1xx-5xx五类。1xx为信息响应,2xx表示成功,如200(请求成功)、201(创建成功)。3xx是重定向,如301(永久移动)、302(临时重定向)。4xx表示客户端错误,如400(坏请求)、404(未找到)。5xx是服务器错误,包括500(内部服务器错误)和503(服务不可用)。这些状态码用于理解请求响应流程和调试网络问题。
13 1
|
4天前
|
前端开发 JavaScript
关于HTTP 状态码不要再问我了,都在这了 。。。返回什么就去解决什么,不要盯着状态码找不到解决办法
关于HTTP 状态码不要再问我了,都在这了 。。。返回什么就去解决什么,不要盯着状态码找不到解决办法
|
6天前
|
XML 前端开发 JavaScript
【JavaEE】HTTP状态码-HTTP数据报的构造
【JavaEE】HTTP状态码-HTTP数据报的构造
14 3