1.状态码
状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。
2.2XX成功
200 OK:
204 No Content:
该状态码代表服务器接收的请求已成功处理,但在返回的响应报文中不含实体的主体部分
206 Partial Content:
该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。响应报文中包含由Content-Range指定范围的实体内容
3.3XX重定向
301 Moved Permanently:
永久性重定向。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI
像下方给出的请求URI,当指定资源路径的最后忘记添加斜杠“/”,就会产生301状态码:
http://example.com/sample
302 Found:
临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户(本次)能使用新的URI访问
303 See Other:
303状态码和302 Found状态码有着相同的功能,但303状态码明确表示客户端应当采用GET方法获取资源,这点与302状态码有区别
304 Not Modified:
该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但因发生请求未满足条件的情况后,直接返回304 Not Modified(服务器端资源未改变,可直接使用客户端未过期的缓存)
4.4XX客户端错误
400 Bad Request:
该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求
401 Unauthorized:
该状态码表示发送的请求需要有通过HTTP认证(BASIC认证、DIGEST认证)的认证信息。另外若之前已进行过1次请求,则表示用户认证失败
403 Forbidden:
该状态码表明对请求资源的访问被服务器拒绝了。服务器端没有必要给出拒绝的详细理由
未获得文件系统的访问授权,访问权限出现某些问题(从未授权的发送源IP地址试图访问)等列举的情况都可能是发生403的原因
404 Not Found:
该状态码表明服务器上无法找到请求的资源
5.5XX服务器错误
500 Internal Server Error:
该状态码表明服务器端在执行请求时发生了错误。也有可能是Web应用存在的bug
503 Service Unavailable:
该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。如果事先得知解除以上状况需要的时间,最好写入Retry-After首部字段再返回给客户端。