http响应状态码
1、介绍
http响应状态码在响应报文中,由服务端设置返回给客户端,是一个三位数字的代号,用于说明请求处理情况。
而描述符是一个简短的文本,与状态码一 一对应,进行简单描述。
响应状态码可以分为五类:1xx、2xx、3xx、4xx和5xx。每一个分类为整百,表示该类核心意义。
2、1xx
(1)100
Continue。
继续。客户端应继续其请求
(2)101
Switching Protocols
切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议,但也不全是?
3、2xx
(1)200
OK。请求成功。也是最常见的状态码。
(2)201
Created。已创建,成功请求并创建了新的资源
- tomcat put漏洞测试时,初次对一个不存在的路径提交put请求,会进行文件创建并返回201响应
(3)202
(4)203
(5)204
No Content。无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
- tomcat put漏洞测试时,初次对一个不存在的路径提交put请求,再次对该路径提交put,会返回204响应
- 对一个动态接口来说,提交put请求,服务器容器会判断其是否支持put方法。如果不支持会返回405,支持会根据接口进行处理,可能是200或其它
- 对一个静态文件来说,提交put请求,服务器一般会返回204响应,无响应体部内容
(6)205
(7)206
4、3xx
(1)300
(2)301
Moved Permanently。永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
但实际中,该响应是相对少数的
(3)302
Found。临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
会搭配使用Location字段,此时如果有需求也可以设置Set-cookie字段。
(4)303
(5)304
Not Modified。未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源。
以js、css、png/jpg等静态资源时返回该响应状态码居多。一般会搭配Last-Modified字段。
(6)305
(7)306
(8)307
Temporary Redirect,临时重定向。与302类似。使用GET请求重定向
5、4xx
(1)400
客户端请求的语法错误,服务器无法理解。
- burp repeater模块,请求方法小写,一般会400响应
(2)401
Unauthorized。请求要求用户的身份认证
- 在tomcat后台登录时,会出现该状态响应
(3)402
(4)403
Forbidden。服务器理解请求客户端的请求,但是拒绝执行此请求
(5)404
Not Found。服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置”您所请求的资源无法找到”的个性页面
(6)405
Method Not Allowed。请求方法被静止。
(7)406
(8)407
(9)408
(10)409
Conflict。服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
- tomcat put漏洞存在时,put提交到一个不存在的目录,会报409响应
- 基于该状态码的原理,必须是PUT方法请求才有可能返回。而GET一个不存在的目录,会报404
- 一般的,put提交到一个不存在的目录下的接口,会报405.比如https://www.baidu.com/a/b
(11)410
(12)411
(13)412
(14)413
(15)414
(16)415
(17)416
(18)417
6、5xx
(1)500
Internal Server Error。服务器内部错误,无法完成请求。
- 有时候,服务端繁忙,也会报500错误。比如参加靶场测试时,多个用户同时连接和请求,测试过程中极易报500错误
nginx常见的500报错:
(2)501
(3)502
(4)503
(5)504
(6)505