【HTTP基础】HTTP状态码详解

本文详细介绍了HTTP状态码的含义及其用途,包括常见的200 OK、404 Not Found等状态码,帮助读者理解服务器响应的不同状态。

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

HTTP状态码英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。它由RFC 2616 规范定义的,并得到RFC 2518RFC 2817RFC 2295RFC 2774RFC 4918 等规范扩展。所有状态码的第一个数字代表了响应的五种状态之一。所示的消息短语是典型的,但是可以提供任何可读取的替代方案。 除非另有说明,状态码是HTTP / 1.1标准(RFC 7231)的一部分。


每条HTTP相应消息都必须在第一行中包含状态码,说明请求的结果。下表整理了HTTP状态码及介绍了渗透测试员在攻击WEB时最有可能遇到的状态码。

HTTP状态码表

1XX

消息

这一类型的状态码,代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束。

100 continue

服务器已经接收到请求头,并且客户端应继续发送请求主体(在需要发送身体的请求的情况下:例如,POST请求),或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应。要使服务器检查请求的头部,客户端必须在其初始请求中发送Expect: 100-continue作为头部,并在发送正文之前接收100 Continue状态代码。响应代码417期望失败表示请求不应继续

101 swtching protocols

 

102 processing

 

2XX

成功

这一类型的状态码,代表请求已成功被服务器接收、理解、并接受

200 OK

请求已成功,请求所希望的响应头或数据体将随此响应返回。实际的响应将取决于所使用的请求方法。在GET请求中,响应将包含与请求的资源相对应的实体。在POST请求中,响应将包含描述或操作结果的实体。

201 created

请求已经被实现,而且有一个新的资源已经依据请求的需要而创建,且其URI已经随Location头信息返回。

202 accept

服务器已接受请求,但尚未处理。

203 Non-Authoritative Information

 

204 No Content

 

205 Reset Content

 

206 Partial Content

 

207 Multi-Status

 

208 Already Reported

 

226 IM Used

 

3XX

重定向

这类状态码代表需要客户端采取进一步的操作才能完成请求。通常,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的Location域中指明。

300 Multiple Choices

 

301 Moved Permanently

被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额外指定,否则这个响应也是可缓存的。

302 Found

要求客户端执行临时重定向

303 See Other

 

304 Not Modified

表示资源未被修改,因为请求头指定的版本If-Modified-Since或If-None-Match。在这种情况下,由于客户端仍然具有以前下载的副本,因此不需要重新传输资源。

305 Use Proxy

 

306 Switch Proxy

 

307 Temporary Redirect

 

308 Permanent Redirect

 

4XX

客户端错误

这类的状态码代表了客户端看起来可能发生了错误,妨碍了服务器的处理。除非响应的是一个HEAD请求,否则服务器就应该返回一个解释当前错误状况的实体,以及这是临时的还是永久性的状况。这些状态码适用于任何请求方法。浏览器应当向用户显示任何包含在此类错误响应中的实体内容。

400 Bad Request

由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。

401 Unauthorized

 

402 Payment Required

 

403 Forbidden

服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个HEAD请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。

404 Not Found

请求失败,请求所希望得到的资源未被在服务器上发现,但允许用户的后续请求。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以跳转的地址。404这个状态码被广泛应用于当服务器不想揭示到底为何请求被拒绝或者没有其他适合的响应可用的情况下。

405 Method Not Allowed

请求行中指定的请求方法不能被用于请求相应的资源。该响应必须返回一个Allow头信息用以表示出当前资源能够接受的请求方法的列表。

406 Not Acceptable

 

407 Proxy Authentication Required

 

408 Request Timeout

 

409 Conflict

 

410 Gone

 

411 Length Required

 

412 Precondition Failed

 

413 Request Entity Too Large

前称“Request Entity Too Large”,表示服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围。

414 Request-URI Too Long

前称“Request-URI Too Long”,表示请求的URI长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务。

415 Unsupported Media Type

 

416 Requested Range Not Satisfiable

 

417 Expectation Failed

 

418 I'm a teapot

 

421 Misdirected Request

 

422 Unprocessable Entity

 

423 Locked

 

424 Failed Dependency

 

426 Upgrade Required

客户端应当切换到TLS/1.0,并在HTTP/1.1 Upgrade header中给出

428 Precondition Required

 

429 Too Many Requests

 

431 Request Header Fields Too Large

 

451 Unavailable For Legal Reasons

 

5XX

服务器错误

表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。

500 Internal Server Error

服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理

501 Not Implemented

 

502 Bad Gateway

作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应

503 Service Unavailable

由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是暂时的,并且将在一段时间以后恢复。

504 Gateway Timeout

作为网关或者代理工作的服务器尝试执行请求超时

505 HTTP Version Not Supported

 

506 Variant Also Negotiates

 

507 Insufficient Storage

 

508 Loop Detected

 

510 Not Extended

 

511 Network Authentication Required

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值