Servlet HTTP 状态码学习笔记

HTTP 状态码是服务器对请求的响应状态的表示,它分为5类,每一类以不同的数字开头。在Servlet中,我们可以通过response对象的setStatus() 方法来设置HTTP响应状态码。

1xx 信息性状态码

这一类状态码表示服务器已接收到请求,正在处理请求,并且没有问题。

例子:

  • 100 Continue:表示服务器已经接收到请求头,并且客户端应该继续发送请求体。
  • 101 Switching Protocols:表示服务器已经理解了客户端的请求,并将使用不同的协议来完成这个请求。

2xx 成功状态码

这一类状态码表示服务器已成功接收、理解并处理请求。

例子:

  • 200 OK:表示请求已成功,同时也是最常见的成功状态码。
  • 201 Created:表示新资源已经成功创建,通常会返回新资源的URI。
  • 204 No Content:表示请求已成功处理,但是没有返回任何内容。

3xx 重定向状态码

这一类状态码表示请求需要进一步操作以完成,需要客户端进一步处理。

例子:

  • 301 Moved Permanently:表示请求的资源已经被永久移动到了一个新的地址。
  • 302 Found:表示请求的资源已经被临时移动到了一个新的地址。

4xx 客户端错误状态码

这一类状态码表示客户端请求有问题,需要修改请求才能继续。

例子:

  • 400 Bad Request:表示请求有错误,服务器无法理解。
  • 401 Unauthorized:表示请求要求身份验证,客户端需要提供正确的身份证明才能访问资源。
  • 403 Forbidden:表示服务器已经理解请求,但是拒绝响应,一般是因为没有权限访问资源。

5xx 服务器错误状态码

这一类状态码表示服务器在处理请求过程中发生了错误。

例子:

  • 500 Internal Server Error:表示服务器遇到了一个未曾预料的情况,无法完成对请求的处理。
  • 503 Service Unavailable:表示服务器暂时无法处理请求(例如过载或维护)。

以上就是几种常见的HTTP状态码,我们在使用Servlet编写Web应用程序时,需要对这些状态码有基本的认识和了解。