HTTP状态码(响应码)

前言

对于一些刚刚入门的网安的小白来说,可能并不太能了解状态码的作用。这也是我前期学习时的一个状态。当你参加过HW之类的一些网安活动或者参加工作后,你会发现你经常要和响应码打交道。你在使用安全设备查看流量或是日志时,就经常会看到这些响应码…

简介

状态码(HTTP Status Code),是用以表示网页服务器超文本传输协议响应状态以3位数字组成的代码,当然你也可以称其为响应码。
所有状态码的第一位数字代表了相应的物种状态之一:

  1. 1xx:表示临时响应并需要请求者继续执行操作的状态代码
  2. 2xx:表示成功处理了请求的状态代码
  3. 3xx:要完成请求,需要进一步操作(通常这些代码用来重定向
  4. 4xx:表示请求可能出错,妨碍了服务器的处理
  5. 5xx:表示服务器在尝试处理请求时,发生内部错误(这些错误通常是服务器本身的错误,并不是由于请求出错,当然也有可能是访问者的故意为之,使服务器本身出现错误)

状态码

1xx

该状态码表示临时响应并需要请求者继续执行操作

  • 100(继续):请求者应当继续提出请求。服务器已收到请求的第一部分,正在等待剩余部分
  • 101(切换协议):请求者要求服务器切换协议,服务器也已确认切换协议

2xx

该状态码表示成功

  • 200(成功):服务器已成功处理请求。一般这表示服务器正常处理了请求,并且正常返回了相应的页面
  • 201(已创建):请求成功并且服务器成功创建新资源
  • 202(已接受):服务器已接收请求,但仍未处理
  • 203(非授权信息):服务器成功处理请求,但是返回的信息可能来自另外一来源
  • 204(无内容):服务器成功处理请求,但是没有返回任何内容
  • 205(重置内容):服务器成功处理请求,但没有返回任何内容
  • 206(部分内容):服务器成功处理了部分GET请求

3xx

该状态码表示要完成请求,需要进一步操作。通常这些状态码用来重定向

  • 300(多钟选择):针对请求,服务器可以执行多种操作。服务器可以根据请求者的(user-agent)选择一项操作,或者提供操作列表供请求者选择
  • 301(永久移动):请求的网页已永久移动到新的位置。服务器返回该状态码时,会自动将请求者转到新位置
  • 302(临时移动):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置进行后续的请求
  • 303(查看其它位置):请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此状态码
  • 304(未修改):自从上次请求后,请求的网页未修改过。服务器返回此状态码时,不会返回网页内容
  • 305(使用代理):请求者只能使用代理访问请求的网页
  • 307(临时重定向):服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行后续请求

4xx

表示请求可能出错,妨碍了服务器的处理

  • 400(错误请求):表示客户端请求的语法错误,服务器无法理解。例如:url中含有非法字符,json格式出现问题…
  • 401(未授权):请求要求身份验证。一般需要登录的网站,服务器可能会返回此状态码
  • 402:保留
  • 403(禁止):服务器理解请求客户端的请求,拒绝请求
  • 404(未找到):服务器无法根据客户端请求找到资源
  • 405(方法禁用):禁用请求中指定的方法
  • 406(不接受):无法使用请求的内容特性响应请求的网页
  • 407(需要代理授权):此状态码与401类似,但指定请求者应当授权使用代理
  • 408(请求超时):服务器等候请求时超时
  • 409(冲突):服务器在完成请求是发生冲突。服务器必须在响应中包含有关冲突的信息
  • 410(已删除):请求的资源已永久删除
  • 411(需要有效长度):服务器不接受不含有效内容长度标头字段的请求
  • 412(未满足前提条件):服务器未满足请求者在请求中设置的其中一个前提条件
  • 413(请求实体过大):相应实体过大。服务器拒绝处理当前请求,请求超过服务器所能处理和允许处理的最大值
  • 414(请求的url过长):请求的url过长,服务器无法处理
  • 415(不支持的媒体类型):请求的格式不受请求页面的支持
  • 416(请求范围不符合要求):如果页面无法提供请求的范围,服务器则会返回此状态码
  • 417(未满足期望值):在请求头Expect指定的预期内容无法被服务器满足
  • 422(不可处理的实体):请求格式正确,但由于含有语义错误,无法响应

5xx

表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,并不是请求出错,当然也有可能是请求者的故意为之,使服务器本身出现错误

  • 500(服务器内部错误):服务器遇到一个未预料到的状况,导致无法完成对请求的处理
  • 501(尚未实施):服务器不具备完成请求的功能。例如:服务器无法识别请求方法…
  • 502(错误网关):服务器作为网关或者代理,从上游服务器收到无效响应
  • 503(服务不可用):服务器目前无法使用。例如:超载、停机维护…
  • 504(网关超时):服务器作为网关或代理,但未及时收到上游服务器的响应
  • 505(HTTP版本不受支持):服务器不支持请求中所用的HTTP版本

常见状态码

  • 200(成功):服务器已成功处理请求。一般这表示服务器正常处理了请求,并且正常返回了相应的页面
  • 403(禁止):服务器理解请求客户端的请求,拒绝请求
  • 404(未找到):服务器无法根据客户端请求找到资源
  • 405(方法禁用):禁用请求中指定的方法
  • 500(服务器内部错误):服务器遇到一个未预料到的状况,导致无法完成对请求的处理
  • 502(错误网关):服务器作为网关或者代理,从上游服务器收到无效响应
  • 503(服务不可用):服务器目前无法使用。例如:超载、停机维护…
  • 504(网关超时):服务器作为网关或代理,但未及时收到上游服务器的响应
  • 如有遗漏,欢迎补充…

结束语

希望本文能够帮助到你 😃

已同步更新至个人博客:https://www.hibugs.net/security/other/lamar/http-status-code

  • 23
    点赞
  • 124
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: "408 Request Timeout"表示客户端请求超时,服务器在规定的时间内没有收到来自客户端的任何请求。这通常意味着客户端可能出现了问题,或者在请求过程中出现了网络故障。为了解决这个问题,可以尝试重新发送请求,或者检查网络连接。关于如何将响应设成408,这可能涉及到具体的编程语言和框架,可能需要查阅相应的文档。 ### 回答2: HTTP响应中的408表示请求超时。当客户端向服务器发送请求后,在规定的时间内没有收到服务器响应服务器就会返回408响应。 408响应的出现可能有以下几种情况: 1. 客户端发送的请求在网络传输过程中遇到了延迟或丢失,导致服务器无法及时响应。 2. 客户端发送的请求过于复杂,处理时间超过了服务器的设定时间。 3. 服务器过载或出现故障,无法及时响应客户端的请求。 当返回408响应时,客户端可以采取以下措施: 1. 检查网络连接是否正常,确保请求能够顺利传输。 2. 检查请求是否过于复杂,考虑简化请求或拆分成多个小的请求发送。 3. 如果是服务器问题,可以尝试等待一段时间再重新发送请求。 对于开发人员来说,当收到408响应时,可以通过查看服务器的日志或性能监控来了解具体原因。如果是由于服务器负载过重导致的请求超时,可以考虑优化服务器性能或增加服务器资源。 总之,408响应表示请求超时,在使用web时要注意及时处理这种情况,以提供更好的用户体验。 ### 回答3: HTTP响应408表示请求超时。当客户端发送请求到服务器后,服务器在规定的时间内没有给出响应,就会返回408响应。 通常情况下,服务器会在请求到达后立即处理,并在一定时间内返回响应给客户端。但是,在某些情况下,服务器无法按时处理请求,例如服务器资源不足、网络繁忙或是服务器端的错误等。 当服务器在规定的时间内没有返回响应时,客户端会认为请求超时,即408响应。客户端可以据此判断服务器是否正常工作,也可以采取相应的措施,如重新发送请求或是尝试连接其他服务器。 408响应并不常见,通常在出现网络故障或服务器负载过高时才会出现。为了避免出现408响应,服务端可以增加资源来满足更多的请求,或是优化服务器性能以提高处理速度。 总而言之,HTTP响应408表示请求超时,客户端发送的请求在规定的时间内没有得到服务器响应。这种情况下,通常需要进行故障诊断,并采取相应的措施来解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值