状态的职责
状态码的职责是当客户端向服务器发送请求时,服务器端返回的请求结果。用户通过状态码,可以知道服务器端是正常处理了发送的请求,还是出现了错误。
状态码通常由3位数字和原因短语组成。例如:200 OK。
状态码的类别
1XX
信息性状态码,接收的请求正在处理。
2XX
成功状态码,请求正常处理完毕。
3XX
重定向状态码,需要进行附加操作已完成请求。
4XX
客户端错误状态码,服务器无法处理请求。
5XX
服务器错误状态码,服务器处理请求出错。
常见状态码
200 OK
表示从客户端发来的请求在服务器端被正常的处理了。
204 NO Content
表示服务器接收的请求已成功处理,但是返回的响应报文中不包含实体的主体部分。另外也不允许返回任何实体的主体。例如:从浏览器发出请求处理后,返回204响应,那么浏览器显示的页面做发生更新。
206 Partial Content
表示客户端进行了范围请求,而服务器成功执行了这部分请求。在响应报文中包含Content-Range指定范围的实体内容。范围请求,也是为了加快请求速度。
301 Moved Permanently
永久性重定向。表示请求的资源已经被分配了新的URI,以后应使用资源现在的URI。也就是说,如果已经把资源对应的URI保存为书签了,这时候,应该按Location首部字段提示的URI重新保存。
302 Found
临时性重定向。表示请求的资源已经被分配了新的URI,希望用户本次能使用新的URI访问。与301状态码相似,但302表示资源不是被永久移动,只是临时性质的。
303 See Other
表示由于请求对应的资源存在另一个URI,应使用GET方法定向获取请求的资源。
当301、302、303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。
400 Bad Request
表示请求报文中存在语法错误。
401 Unauthorized
表示发送的请求需要有通过HTTP认证的认证信息。
403 Forbidden
表示对请求资源的请求被服务器拒绝了。如:未获得文件系统的访问权限,访问权限出现某些问题等情况,都可能是发生了403的原因。
404 Not Found
表示服务器上无法找到请求的资源。除此之外,也可以在服务器拒绝请求且不想说明理由时使用。
500 Internal Server Error
表示服务器端在执行请求时发生了错误。就是说,你发的请求,在服务端执行的时候,出现了问题。有可能就是存在bug。
503 Service Unavailable
表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
小结
HTTP状态的作用介绍。
领取专属 10元无门槛券
私享最新 技术干货