怎么控制css,js的过期时间

html-css017

怎么控制css,js的过期时间,第1张

控制css,js的过期时间:

a. 第一次访问url时,用户从服务器段获取页面内容,并把相关的文件(images,css,js…)放在高速缓存中,也会把文件头中的expired time,last modified, ETags等相关信息也一同保留下来。

b. 用户重复访问url时,浏览器首先看高速缓存中是否有本站同名的文件,如果有,则检查文件的过期时间;如果尚未过期,则直接从缓存中读取文件,不再访问服务器。

c. 如果缓存中文件的过期时间不存在或已超出,则浏览器会访问服务器获取文件的头信息,检查last modifed和ETags等信息,如果发现本地缓存中的文件在上次访问后没被修改,则使用本地缓存中的文件;如果修改过,则从服务器上获取最新版本。

cache-control是用于控制网页的缓存.常见的取值有private、no-cache、max-age、must- revalidate等,默认为private。

cache-control有哪些属性?

其作用根据不同的重新浏览方式分为以下几种情况:

cache-control

打开新窗口(_blank)

private、no-cache、must-revalidate 再次访问服务器

Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不 会去服务器)

在地址栏回车

值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。

值为no-cache,那么每次都会访问。

值为max-age,则在过期之前不会重复访问。

按后退按扭

值为private、must-revalidate、max-age,则不会重访问,

值为no-cache,则每次都重复访问

按刷新按扭

无论为何值,都会重复访问

cache-control在哪里设置

在IIS的网站属性中的http头信息选项卡中,勾选启用内容过期后有三个相关选项.

一、立即过期

启用此选项后,每次请求都会向服务器申请下载最新版本。浏览器不做缓存处理。状态返回码200。Cache信息是:no-cache。这种方式可以保证客户端看到的永远是最新版本,也就是说如果服务器端进行了更新,一定能被客户端看到。

二、此时段后过期与过期时间

这两种情况下,浏览器缓存将其作用。注意,第一次的状态是200,同时cache-control为30天(对应的秒数)。就是说这个网页会有30天的缓存。所以,而后的状态都会是304.

cache-control应该怎么设置更好?

对于图片,css,等长期不变化的内容应该设置较长的过期时间(如180天)

建议:

1.对于js和css可以独立到一个二级域名中,启用GZIP,且设置较长的过期时间

2.对于图片独立到另一个二级域名中,且设置较长的过期时间

对于静态文件(html)如果长期不更新也可以设置稍长的过期时间(如30天),需要根据当前网站的实际而定。

对于动态文件(php)可以设置较短的过期时间(如120秒)

注意:在过期时间内,如果您对文件内容进行了变化,对于用户或蜘蛛都不能浏览或抓取到你更改后的内容。 这也是动态文件设置较短过期时间的主要原因。cache-control的设置只是为了节约搜索引擎蜘蛛资源,让其抓取更多有效内容,千万不能弄巧成拙。

head区是指首页HTML代码的<head>和</head>之间的内容。

必须加入的标签

1.公司版权注释

<!---ThesiteisdesignedbyMaketown,Inc06/2000--->

2.网页显示字符集

简体中文:<METAHTTP-EQUIV="Content-Type"CONTENT="text/htmlcharset=gb2312">

繁体中文:<METAHTTP-EQUIV="Content-Type"CONTENT="text/htmlcharset=BIG5">

英语:<METAHTTP-EQUIV="Content-Type"CONTENT="text/htmlcharset=iso-8859-1">

3.网页制作者信息

<METAname="author"content="136z.com">

4.网站简介

<METANAME="DESCRIPTION"CONTENT="xxxxxxxxxxxxxxxxxxxxxxxxxx">

5.搜索关键字

<METANAME="keywords"CONTENT="xxxx,xxxx,xxx,xxxxx,xxxx,">

6.网页的css规范

<LINKhref="style/style.css"rel="stylesheet"type="text/css">

(参见目录及命名规范)

7.网页标题

<title>xxxxxxxxxxxxxxxxxx</title>

可以选择加入的标签

1.设定网页的到期时间。一旦网页过期,必须到服务器上重新调阅。

<METAHTTP-EQUIV="expires"CONTENT="Wed,26Feb199708:21:57GMT">

2.禁止浏览器从本地机的缓存中调阅页面内容。

<METAHTTP-EQUIV="Pragma"CONTENT="no-cache">

3.用来防止别人在框架里调用你的页面。

<METAHTTP-EQUIV="Window-target"CONTENT="_top">

4.自动跳转。

<METAHTTP-EQUIV="Refresh"CONTENT="5URL=http://www.hhlong.com">

5指时间停留5秒。

5.网页搜索机器人向导.用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

<METANAME="robots"CONTENT="none">

CONTENT的参数有all,none,index,noindex,follow,nofollow。默认是all。

6.收藏夹图标

<linkrel="ShortcutIcon"href="favicon.ico">

所有的javascript的调用尽量采取外部调用.

<SCRIPTLANGUAGE="javascript"SRC="script/xxxxx.js"></SCRIPT>

附<body>标签:

<body>标签不属于head区,这里强调一下,为了保证浏览器的兼容性,必须设置页面背景<bodybgcolor="#FFFFFF">

<!--

a:link {

text-decoration: none

}

a:visited {

text-decoration: none

}

a:hover {

text-decoration: none

}

a:active {

text-decoration: none

}

是超链接的属性,表示无下划线

① a:link:未访问链接

② a:visited:已访问链接

③ a:active:激活时(链接获得焦点时)链接的颜色

④ a:hover:鼠标移到链接上时