总结:
2xx:
200 OK 请求成功!
表示从客户端发来的请求在服务器端被正常处理了。
在响应报文内,随状态码返回的信息会因为请求的方法不同而发生变化,如使用GET方法,对应请求的资源的实体会作为响应返回,而使用HEAD方法,对应请求的资源不随报文首部作为响应返回。
204 No Content
该状态码表示服务器接收的请求已经正常处理,但是返回的响应报文中不含实体的主体部分,也不允许返回任何实体的主体。
一般在只需要从客户端往服务器发送信息,而服务器端不需要对客户端发送新信息内容情况下使用
206 Partial Content
该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。响应报文中的Content-Range指定范围的实体内容
3xx:重定向
301 Moved Permanently
永久重定向。该状态码表示请求的资源已经被分配了新的URL,以后应该使用新的URL去访问该资源
302 Found
临时性重定向。该状态码表示请求的资源已经分配了新的URL,希望用户本次能使用新的URL。
303 See Other
该状态码表示由于请求对应的资源存在着另一个URL,应使用GET方法定向获取请求的资源。
注意303和302的区别,303是客户端必须使用GET方法去获取新的资源。
304 Not Modified
该状态码表示客户端发送附带条件的请求时,服务器允许请求访问资源,但是发生请求未满足条件的情况后,直接返回304状态码,虽然被划分在3XX中,但是此处和重定向没有关系。
307 Temporary Redirect
临时重定向。该状态码和302Found有着相同的含义,302标准规定禁止POST变换成GET,但实际使用时大家并不遵守。
307会遵照浏览器标准,不会从POST变成GET
4XX 客户端错误
400 Bad Request
该状态表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。浏览器会像200 OK一样对待该状态码
401 Unauthorized
该状态码表示发送的请求需要有通过HTTP认证(BASIC认证,DIGEST认证)的认证信息。如果之前已进行过一次请求,则表示用户认证失败。
403 Forbidden
该状态码表示对请求资源的访问被服务器拒绝了。
未获得文件系统的访问权限,访问权限出现某些问题等情况都可能发生403。
404 Not Found
该状态码表明服务器无法找到请求的资源。即常见的浏览器返回资源不存在。
5xx(服务器错误)
这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
500 (服务器内部错误)
服务器遇到错误,无法完成请求。
501 (尚未实施)
服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关)
服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用)
服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时)
服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持)
服务器不支持请求中所用的 HTTP 协议版本。