Java学习之常⽤HTTP状态码
1.常⽤状态码介绍
在中,我们通过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。
java中index是什么意思
(5)服务器收到浏览器的请求,获得请求头If-Modified-Since的值,将这个值与服务器端index.jsp⽂件的最后修改时间进⾏⽐较,如果⼀致,表⽰服务器端没有对index.jsp进⾏修改,浏览器缓存的是最新的,这时服务器会响应304状态码给浏览器。如果不⼀致,则正常响应,将最新的资源响应给浏览器。
在上⾯的304详解时,提到了两个头:
Last-Modified:这个是响应头,是浏览器第⼀次请求⼀个资源时,服务器发送给浏览器的,值为请求内容最后的修改时间。
If-Modified-Since:这个是请求头,浏览器第⼆次请求⼀个资源时,浏览器发送给服务器的,把第⼀次服务器发送给它的时间归还给服务器。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。