计算机网络--应用层--3.3*--HTTP--HTTP 状态码

本文详细介绍了HTTP状态码中的204NoContent、206PartialContent、301MovedPermanently和302Found的区别及其在实际场景中的应用。204表示服务器成功处理请求但无内容返回,常用于AJAX请求。206用于部分响应,支持断点续传。301是永久重定向,302为临时重定向,后者更利于服务器统计点击数。理解这些状态码对于优化网站和API设计至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
状态码的类别

-类别原因短语
1XXInformational(信息性状态码)接收的请求正在处理
2XXSuccess(成功状态码)请求正常处理完毕
3XXRedirection(重定向状态码)需要进行附加操作以完成请求
4XXClient Error(客户端错误状态码)服务器无法处理请求
5XXServer Error(服务器错误状态码)服务器处理请求出错
在这里插入图片描述
以下介绍一些经常使用的状态码。

1 1XX 临时响应

状态码状态名说明
100Continue
继续
请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101Switching Protocols
切换协
请求者已要求服务器切换协议,服务器已确认并准备切换。

2 2XX 成功

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

状态码状态名说明
200OK
成功
服务器已成功处理了请求。
204No Content
无内容
服务器成功处理了请求,但没有返回任何内容。
206Partial Content
部分内容
服务器成功处理了部分 GET 请求。

HTTP状态码中的204和206分别表示:

204 No Content:

  • 当服务器成功处理了请求,但不需要返回任何内容时,会返回状态码204 No Content。
  • 这通常发生在处理POST请求时,服务器已经成功处理了请求,但在响应中不需要返回任何实体内容。
  • 204状态码通常用于AJAX请求或表单提交后的处理,告诉客户端请求已经成功处理,但不需要更新页面内容。

206 Partial Content:

  • 当客户端发送一个带有Range头部的请求时,请求服务器返回部分内容时,服务器会返回状态码206 Partial Content。
  • 这通常用于客户端请求大文件的部分内容,如视频或音频文件,客户端可以分段请求文件的不同部分,服务器会相应地返回这些部分内容。
  • 206状态码包含一个或多个Range头部字段,指示服务器返回的实体内容的范围。
  • 206状态码允许客户端在下载大文件时,分段请求文件的不同部分,从而支持断点续传或多线程下载等功能。

简而言之,204表示服务器已成功处理请求但不需要返回任何内容,而206表示服务器已经返回了请求的部分内容。

3 3XX 重定向

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

状态码状态名说明
301Moved Permanently
永久移动
请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。浏览器收到301状态码后,会把原本请求的网址自动替换成新的网址,并将这个新网址缓存起来,以后再次访问这个网址时都会直接跳转到新的地址。
302Found
临时移动
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。浏览器收到302状态码后,会把原本请求的网址替换成新的网址,但不会缓存这个新网址,下次再次访问时仍然会请求原本的网址。
303See Other
查看其他位置
请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304Not Modified
未修改
自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
307temporary Redirect
临时重定向
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

3.1 301 Moved Permanently

在这里插入图片描述
在这里插入图片描述
301:代表永久重定向,也就是说第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器的缓存里拿,这样在 server 层面就无法获取到短网址的点击数了,如果这个链接刚好是某个活动的链接,也就无法分析此活动的效果。所以我们一般不采用 301。

3.2 302 Found

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
302:代表临时重定向,也就是说每次去请求短链都会去请求短网址服务器(除非响应中用 Cache-Control 或 Expired 暗示浏览器缓存),这样就便于 server 统计点击数,所以虽然用 302 会给 server 增加一点压力,但在数据异常重要的今天,这点代码是值得的,所以推荐使用 302!

3.3 303 See Other

在这里插入图片描述
在这里插入图片描述

3.4 304 Not Modified

在这里插入图片描述

3.7 307 Temporary Redirect

在这里插入图片描述

4 4XX 客户端错误

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

状态码状态名说明
400Bad Request
错误请求
服务器不理解请求的语法。
401Unauthorized
未授权
请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403Forbidden
禁止
服务器拒绝请求。
404Not Found
未找到
服务器找不到请求的网页。
405Method Not Allowed
方法禁用
禁用请求中指定的方法。
412Precondition Failed
未满足前提条件
服务器未满足请求者在请求中设置的其中一个前提条件。
417Expectation Failed
未满足期望值
服务器未满足"期望"请求标头字段的要求.

4.0 400 Bad Request

在这里插入图片描述

4.1 401 Unauthorized

在这里插入图片描述
在这里插入图片描述

4.3 403 Forbidden

在这里插入图片描述

4.4 404 Not Found

在这里插入图片描述
在这里插入图片描述

4.5 405 Method Not Allowed

pass

4.12 412 Precondition Failed

pass

4.17 417 Expectation Failed

pass

5 5XX 服务器错误

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

状态码状态名说明
500Internal Server Error
服务器内部错误
服务器遇到错误,无法完成请求。
501Not Implemented
尚未实施
服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
502Bad Gateway
错误网关
服务器作为网关或代理,从上游服务器收到无效响应。
503Service Unavailable
错误网关
服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
504Gateway Timeout
网关超时
服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505HTTP Version Not Supported
HTTP 版本不受支持
服务器不支持请求中所用的 HTTP 协议版本。

5.0 500 Internal Server Error

在这里插入图片描述

5.1 501 Not Implemented

pass

5.2 502 Bad Gateway

pass

5.3 503 Service Unavailable

在这里插入图片描述

5.4 504 Gateway Timeout

pass

5.5 505 HTTP Version Not Supported

pass
在这里插入图片描述

[图片源于《图解HTTP》]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值