jenkins 远程打开html提示304

html-css031

jenkins 远程打开html提示304,第1张

原因如下:

(1)页面长时间不更新:

如果页面内容长时间不更新,如静态页面,基本上直接返回304个状态码,即使动态页面内容不变,也会出现这个问题。

(2)CDN缓存

当你打开cdn加速时,即使你的内容页面发生了变化,但是cdn的缓存没有更新,也可能导致这个问题。面对这个问题,你可能需要设置cdn定期更新时间,但这与百度快照不更新不同。

网站304的错误状态代码是当客户端试图访问服务器互相的信息提示。如果第二次访问期间页面内容没有更改,服务器将返回304状态代码。

304状态代码与404错误不同。从理论上讲,304状态码出现在网站的任何页面上都不会受到惩罚,但如果你的页面长时间出现304状态码,则会影响搜索引擎的信任度。

响应就是服务器发送给客户端的数据!

1. 响应格式:

  * 响应首行

  * 响应头

  * 空行

  * 响应体(或称之为响应正文)

2. 状态码

响应首行的结构:协议及版本 状态码 状态码说明,例如:HTTP/1.1 200 OK

  * 200:请求成功

  * 302:请求重定向

  * 304:请求资源没有改变

  * 404:请求资源不存在,属性客户端错误

  * 500:服务器内部错误

3. 响应头

  * Content-Type:响应正文的MIME类型,例如image/jpeg表示响应正文为jpg图片,例如text/htmlcharset=utf-8表示响应正文为html,并且编码为utf-8编码。浏览器会通过这一信息来显示响应数据

  * Content-Length:响应正文的长度

  * Set-Cookie:服务器寄存在客户端的“小甜点”,当客户端再次访问服务器时会把这个“小甜点”还给服务器

  * Date:响应时间,可能会有8小时的误差,因为中国的时区问题

通知客户端浏览器不要缓存页面的响应头:

  * Expires:-1

  * Cache-Control: no-cache

  * Pragma: no-cache

自动刷新响应头,浏览器会在3秒钟后自动重定向到baidu主页

  * Refresh: 3url=http://www.baidu.com

4. 状态码304

 相关头信息

  * Last-Modified:响应头,表示当前资源的最后修改时间;

  * If-Modified-Since:请求头,表示缓存的资源最后修改时间;

 状态码304:表示访问的资源没有改变

  1. 客户端首次访问服务器的静态资源index.html,服务器会把index.html响应给客户端,而且还会添加一个名为Last-Modified的响应头,它说明了当前index.html的最后修改时间

  2. 客户端收到响应后,会把index.html缓存在客户端上,而且还会把Last-Modified缓存起来。

  3. 客户端第二次请求index.html时,会添加名为If-Modified-Since的请求头,它的值是上次服务器响应头Last-Modified,服务器获取到客户端保存的最后修改时间,以及当前资源的最后修改时间进行比较,如果相同,说明index.html没有改动过,那么服务器不会发送index.html,而是响应状态码304,即通知客户端资源没有改变,你可以使用自己的缓存。