全国咨询/投诉热线:400-618-4000

Java培训之常用HTTP状态码

更新时间:2016年04月25日15时52分 来源:传智播客Java培训学院 浏览次数:

1.常用状态码介绍

http响应协议中,我们通过HttpWatch抓包抓取到响应信息。其中响应首行中就包含一个状态码。状态码由三位数字组成,表示请求是否被理解或者被满足。HTTP响应状态码的第一个数字定义了响应的类别,后面两位没有具体分类,第一个数字有五种可能的取值,具体介绍如下所示:
  • 1xx :表示请求已接收,需要继续处理。
  • 2xx :表示请求已经成功被服务器接收、理解、并接受
  • 3xx :为完成请求,客户端需要进一步细化请求
  • 4xx :客户端的请求有错误
  • 5xx :服务器端出现错误
通过上面的介绍,现在我们来学习几个具体、常用的状态码,如下所示:
状态码 说明
200 请求成功,浏览器会把响应回来的信息显示在浏览器端。
404 表示客户端出错,比如说在浏览器端请求一个不存在的资源,这时浏览器端会出现404状态码。
405 客户端错误的一种,表示当前的请求方式不支持。比如说服务器端只对GET请求做了处理,而客户端的请求是post方式的,这个时候会出现405状态码。
500 服务器端错误,比如说服务器端代码出现空指针等异常,浏览器就会收到服务器发送的500状态码。
302 表示重定向。比如说浏览器访问一个资源,服务器响应给浏览器一个302的状态码,并且通过响应头Location发送了一个新的url,告诉浏览器去请求这个url。这就是重定向。
304 第一访问一个资源后,浏览器会将该资源缓存到本地,第二次再访问该资源时,如果该资源没有发生改变,那么服务器响应给浏览器304状态码,告诉浏览器使用本地缓存的资源。

2.304状态码详解

通过常用状态码的介绍,我们对304状态码有了一定的了解,现在通过一张图来详细了解该状态码,如图1-1所示:

图1-1 304状态码详解
现在,对图1-1进行分析:
(1)浏览器第一次请求资源,index.jsp。
(2)服务器端响应成功,发送状态码200,响应信息中包含一个Last-Modified响应头,该响应头的值是index.jsp文件的最后修改时间,如2014/11/10 6:51。
(3)浏览器接收到服务器发送过来的响应信息,将结果显示出来,并将响应内容及时间缓存在本地。
(4)浏览器第二次访问这个index.jsp页面,在请求信息中包含If-Modified-Since请求头,该请求头的值是浏览器缓存在本地的时间,也是第一次请求时服务器响应回来的时间:2014/11/10 6:51。
(5)服务器收到浏览器的请求,获得请求头If-Modified-Since的值,将这个值与服务器端index.jsp文件的最后修改时间进行比较,如果一致,表示服务器端没有对index.jsp进行修改,浏览器缓存的是最新的,这时服务器会响应304状态码给浏览器。如果不一致,则正常响应,将最新的资源响应给浏览器。
在上面的304详解时,提到了两个头:
  • Last-Modified:这个是响应头,是浏览器第一次请求一个资源时,服务器发送给浏览器的,值为请求内容最后的修改时间。
If-Modified-Since:这个是请求头,浏览器第二次请求一个资源时,浏览器发送给服务器的,把第一次服务器发送给它的时间归还给服务器。






本文版权归传智播客Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客Java培训学院
首发:http://www.itcast.cn/javaee 

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额