404
HTTP状态码负责表示用户端HTTP请求的返回结果、标记服务器端的解决能否正常、通知出现的错误等工作。
能把状态码分为以下几类:
范围 | 类别 | 起因短句 |
---|---|---|
1XX | 信息性状态码 | 接受的请求正在解决 |
2XX | 成功状态码 | 请求正常解决完毕 |
3XX | 重定向状态码 | 需要进行附加操作以完成请求 |
4XX | 用户端错误代码 | 服务器无法解决请求 |
5XX | 服务器错误状态码 | 服务器解决请求出错 |
只需遵循状态码的类别,即便改变RF2616中定义的状态码,或者者服务端自行创立状态码都是没有问题的。
接下来详情具备代表性的状态码。
1XX信息
100:Continue,收到部分请求,应该继续请求
101:Switch protocols,用户要求服务器根据请求转换HTTP协议版本
2XX成功
200:OK,服务器正常解决请求
201:Created,提醒知道新文件的URL
202:Accepted,请求已经接受,但没有完成解决
203:Non-Authoritative Information,服务器成功解决事务,只是实体包含的信息可可以不是来自原始服务器,而是来自资源的副本
204:No Content,服务器接受的请求以成功受理,但是返回的响应报文中不包含实体的主体部分,另外,也不允许返回任何实体的主体
205:Reset Content,没有新的内容,但浏览器应该重置它所显示的内容。使用来强制浏览器清理表单输入内容
206:Partial Content,用户端进行了范围请求,而服务器成功执行了这部分的GET请求
3XX重定向
300:Multiple Choices,用户请求的文档能在多个位置找到,这些位置已经在返回的文档内列出。假如服务器要提出优先选择,则应该在Location应答头指明
301:Moved Permanently,永久重定向,该状态码表示请求的资源已被分配了新的URI
302:Found,临时重定向,用户端能用Location首部给出的URL对资源进行临时定位
303:See Other,因为请求对应的资源存在另一个URI,应用GET方法定向获取请求资源
304:Not Modified,用户端发送附带条件的请求时,服务器端允许请求访问资源,但发生条件没有满足条件(服务器资源未改变,可直接用用户端未过期的缓存)
305:Use Proxy,通过代理商访问资源,代理商的位置在Location首部中被提及
307:Temporary Redirect,临时重定向,与302有相同含义。但307会遵照浏览器标准,不会从POST变成GET,302不肯定
4XX用户端错误
400:Bad request,请求报文存在语法错误
401: Unauthorized,发送的请求需要有通过HTTP认证的认证信息。另外若之前已经进行过1次请求,则表示使用户认证失败
403:Forbidden,对资源的访问被服务器拒绝了
404:Not Found,服务器上没有找到请求资源。除此之外,也能在服务器拒绝请求且不想说明理由时用
405:Method Not Allowed,不允许用的方法,请求中有一个不支持的方法,响应中应该包含一个Allow首部,已告知用户端所请求的资源支持的方法
406:Not Acceptable,无法接受,指定的资源已经找到,但它的MIME类型和用户在Accpet头中所指定的不兼容
407:Proxy Authentication Required,相似于401,表示用户要进行代理商认证
408:Request Timeout,在服务器许可的等待时间内,用户一直没有发出任何请求。用户能在以后重复同一请求
409:Conflict,发出的请求在资源上造成了少量冲突,通常与PUT请求有关
410:Gone,所请求的文档已经不再可使用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而 404表示因为未知的起因文档不可使用
411:Length Require,要求长度指示,服务器要求请求报文中包含Content-Length首部,没有该首部则返回该代码
412:Precondition Failed,前提条件失败,用户端发起条件请求,服务器无法满足某个条件,则返回该代码
413:Request Entity Too Large,目标文档的大小超过服务器当前愿意解决的大小。假如服务器认为自己可以够稍后再解决该请求,则应该提供一个Retry-After头
414:Request URI Too long,URI太长
415:Unsuportted Media Type,不支持的媒体类型
416:Requested Range Not Satisfiable,服务器不可以满足用户在请求中指定的Range头
417:Expectation Failed,服务器遇到未知情况,不可以完成用户的请求
5XX服务端错误
500:Internal Server Error,服务器端在执行请求时发生错误。也有可可以是Web应使用存在的bug或者某些临时的故障
501:Not Implemented,服务器无法满足用户端请求的某个功可以
502:Bad Gateway,服务器作为网关或者者代理商时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答
503:Service Unavaiable,服务器暂时处于超负荷状态或者者正在进行停机维护,现在无法解决请求。假如事前得知解除以上情况所需要的时间,最好写入Retry-After首部字段再返回给用户端
504:Gateway Timeout,由作为代理商或者网关的服务器用,表示不可以及时地从远程服务器取得应答。,与408相似
505:HTTP Version Not Supported,服务器不支持请求的HTTP版本