我们经常会遇到404、500、302等提示。他们是什么意思?除了这些常见的状态码,还有哪些我们没有遇到但可能会出现的状态码?网站的http状态对于网站维护人员来说非常重要。当一个网站出现问题时,首先要诊断网站的http状态,以便进一步确认问题发生在哪里。IT百科会和你分享一些HTTP状态码的知识。
HTTP1.1的完整规范来自RFC2616,HTTP1.1的状态代码被标记为新特性,因为很多浏览器只支持HTTP1.0,您应该只向支持HTTP1.1的客户端发送状态代码,可以通过调用request.getRequestProtocol来检查支持的协议版本,本节的其余部分详细描述了HTTP1.1中的状态代码。这些状态代码分为五类:
100-199用于指定客户端应该采取的某些操作。
200-299用于指示请求成功。
300-399用于已经被移动的文件,并且经常被包括在定位头信息中以指定新的地址信息。
400-499用于指出客户错误。
500-599用于支持服务器错误。
HttpServletResponse中的常量表示与不同标准消息相关联的状态代码。在servlet程序中,您将使用这些常量的标识来更多地使用状态代码。比如你一般用回应。setstatus(响应。sc_no_content)而不是response.setStatus(204),因为后者很难理解,容易导致错误。但是,您应该注意,服务器允许对消息进行细微的更改,而客户端只关注状态代码的数值。所以服务器可能只返回HTTP/1.1200而不是HTTP/1.1200OK。
100(继续/继续)
如果服务器接收到一个报头信息为100-continue的请求,这意味着客户端询问是否可以在后续请求中发送附件。在这种情况下,服务器使用100(SC_CONTINUE)来允许客户端继续,或者使用417(ExpectationFailed)来告诉客户端不要接受附件。该状态代码是在HTTP1.1中新添加的。
101(转换协议/转换协议)
101(SC_SWITCHING_PROTOCOLS)状态代码意味着服务器将根据其上的报头信息更改为不同的协议。这是在HTTP1.1中新增的。
200(正常/正常)
200(SC_OK)表示一切正常。通常用于相应的获取和发布请求。该状态代码是servlet的默认值;如果不调用setStatus方法,你会得到200。
201(创建/创建)
201(SC_CREATED)表示服务器已经响应于该请求创建了新文档;它的网址应该在位置头信息中给出。
202(接受/接受)
202(SC_ACCEPTED)告诉客户端请求正在执行,但尚未处理。
203(非权威信息/非官方信息)
状态代码203(sc_non_authorized_information)表示文档被正常返回,但某些响应标题信息可能不正确,因为正在使用文档的副本。这是在HTTP1.1中新增的。
204(无内容/无内容)
在没有新文档的情况下,204(SC_NO_CONTENT)确保浏览器继续显示先前的文档。这些状态代码对于用户定期重新加载页面非常有用,您可以确定上一页是否已更新。例如,servlet可能会执行以下操作:
intpageVersion=Integer.Parseint(request.GetParameter("pageversion"));
if(页面版本>;=currentVersion){
response.setStatus(响应。SC_NO_CONTENT);
}else{
//创建常规页面.
但是,该方法适用于通过刷新响应头信息或等效的HTML标记自动重新加载的页面,因为它将返回204状态代码来停止重新加载。然而,基于JavaScript脚本的自动重载在这种情况下仍然需要工作。可以阅读7.2节的详细讨论(http1.1responseheaders及其含义/http1.1responseheaderinformation及其含义)。
205(重置内容/重置内容)
重置内容205(SC_RESET_CONTENT)意味着尽管没有新文档,但是浏览器将重置文档显示。该状态代码用于强制浏览器清除表单字段。这是在HTTP1.1中新增的。
206(PartialContent/)
206(SC_PARTIAL_CONTENT)在服务器完成包含范围标题信息的本地请求时发送。这是在HTTP1.1中新增的。
文章部分内容源于网络,联系侵删*
热门跟贴