For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
缓存功能的应用是目前大多数程序员在开发软件和网站的时候都会用到的一个功能,而本文我们就通过案例分析来简单了解一下,http缓存应用优势与常见字段类型。
1.缓存的简介
缓存定义:
浏览器在本地磁盘上将用户之前请求的数据存储起来,当访问者再次需要改数据的时候无需再次发送请求,直接从浏览器本地获取数据
缓存的好处:
减少请求的个数;
节省带宽,避免浪费不必要的网络资源;
减轻服务器压力;
提高浏览器网页的加载速度,提高用户体验;
2.缓存相关的header字段
可以通过Chrome浏览器调试工具中的Network选项查看浏览器请求资源的情况:
注意不要勾选图中方框内的选项,否则有些请求会被过滤;
Cache-Control字段
服务器可通过httpheader中的Cache-Control字段控制客户端与服务器端之间的缓存策略,它的属性值有:
max-age
该字段指定了缓存的大有效时间,在max-age属性指定的时间未到期前,客户端不会向服务器发起请求,而是从缓存中直接读取该图片。
Expires字段同样可以指定缓存的有效期,不过这是HTTP1.0中的字段,优先级比HTTP1.1中的Cache-Control字段的max-age属性低;
s-maxage
缓存设备总体来说有两种:浏览器(客户端)和CDN服务器;
其中浏览器属于private类型缓存设备,表示只有浏览器才可以对资源进行缓存;
CDN服务器属于public类型缓存设备,这种设备可以对源服务器上的资源进行缓存。并且,这种缓存对于任何用户来说都是可以访问的;
s-maxage的优先级在Expires和max-age三者之中是高的,用于指定public类型缓存设备(比如CDN)上资源的有效期。
private
服务器端可以通过该属性指定某一资源只能被浏览器(客户端)缓存,而不能被代理缓存服务器(CDN)缓存。
public
服务器端可以通过该属性指定某一资源,既可以被浏览器缓存,也可以被代理缓存服务器缓存;
no-cache
no-cache属性规定了浏览器要先向服务器端发送请求确认缓存资源的新鲜度,才能决定是否使用缓存;
no-store
该属性指定了浏览器无论缓存资源是否过期直接跳过缓存,重新向服务器请求资源。no-store属性用的比较少。
Expires字段
该字段指定了浏览器缓存资源的过期时间,在指定的时间到期前,浏览器可以直接从本地缓存中读取数据,而无需再次向服务器发起请求,属于强缓存;相比于max-age与s-maxage优先级低,在这两个属性存在的情况下Expires字段会失效;
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。