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

你可能感兴趣的:(网络安全,其他,http,服务器,网络协议)