HTTP的缓存分为两类:
1. 按时间
Expires / Cache-Control:
expires是设置一个过期的时限,cache-control则是设置一个从当前起过期的秒数.
当这些设置生效时,浏览器不会向服务器发起request.
2. 按条件
Last-Modified / If-Modified-Since
前者是响应头,后者是请求头,服务器根据收到的请求头来比对是否需要传送数据,对于静态文件来说,一般是该文件的mtime的gmt格式.
ETag / If-None-Match
机制和Modified组一样,只是不是用时间,而且自己设tag
现在知道了,rails的Asset ID其实是配合Expires/Cache-Control使用,例如设置一个很大的值,则仅在修改assetid后,浏览器才会发出访问的请求.
而Modified组则是最普通的静态文件处理方式,好处是可以省掉很多配置.
而在实际观察firefox2.0.20,对于Modified组合,firefox似乎会设置一个时长,在这个市场之内是不会发起静态资源的请求,且对图片的时间间隔要较css js短.而在发现离请求的时间(Date字段)超出很长时间后,会向服务器发起请求,但有时会带上
If-Modified-Since
有时又会不带.
分享到:
相关推荐
http缓存详解ppt原创 1. 缓存的类型 2. http缓存详解 •http请求流程 •缓存操作的目标 •缓存控制 •缓存验证 •新鲜度 •vary响应 3. http缓存的应用及意义 4. 关于http缓存的一些问题
Android http缓存实现,可实现离线应用。
http缓存处理的示例代码,应该对你们有用吧,如果对网站性能很关注的话
一直以来都使用varnish来做HTTP缓存,喜欢它的性能高效与vcl配置的强大。在规范化缓存的配置之后,强大的vcl对于我也没有太多的作用了,此时我更希望易上手,更简洁的配置,Pike则由此诞生。
浏览器缓存【2024年浏览器缓存/HTTP缓存机制(面试常考)简介】 内容概要: 这篇博客为网络技术初学者提供了一个全面的理解浏览器缓存和HTTP缓存机制的指南。通过通俗易懂的语言,本博客介绍了浏览器缓存的工作原理...
浏览器HTTP缓存运行机制的流程图 强缓存和协商缓存
HTTP缓存
描述了web浏览器,关于HTTP缓存机制的流程
金山云android平台http缓存SDK,可方便地与播放器集成,实现http点播视频边播放边下载(缓存)功能
Apache PHP利用HTTP缓存协议原理解析及应用
faraday-http-cache, 一个支持HTTP缓存的法拉第 Faraday 通过检查已经存储响应的过期和验证来尊重HTTP高速缓存的法拉第基于消息的中间件。安装将它添加到你的Gemfile:gem 'faraday-http-cache'的使用和配置你必须在...
浏览器之HTTP缓存的那些事 什么是浏览器缓存 浏览器HTTP执行机制 缓存模式 缓存相关的Http Header Cache-Control Expires Last-Modified ETag
Slim-HttpCache, thin框架HTTP缓存中间件和服务提供程序 框架HTTP缓存 这个存储库包含一个瘦框架HTTP缓存中间件和服务提供者。安装通过编辑器$ composer require slim/http-cache需要 Slim 3.0.0或者更高版本。用法
HTTP缓存机制作为Web性能优化的重要手段,对从事Web开发的小伙伴们来说是必须要掌握的知识,但最近我遇到了几个缓存头设置相关的题目,发现有好几道题答错了,有的甚至在知道了正确答案后依然不明白其原因,可谓相当...
安卓应用HTTP缓存缺陷的动态检测.pdf
microcache 实现作为Go中间件的非标准HTTP缓存
Memcached HTTP缓存存储后端。 安装 使用pipenv install scrapy-memcached-cache或pip install memcached-cache安装软件包。 用法 在您的Scrapy settings.py : 使用HTTPCACHE_ENABLED = True启用HTTP缓存 设置缓存...
极速缓存中间件 6的HTTP缓存。这是要添加到HandlerStack中的简单中间件。目标符合RFC 7234 绩效和透明度确保与PSR-7兼容内置存储接口安装composer require kevinrob/guzzle-cache-middleware 或将其添加到您的...
FOSHttpCache, 将你的PHP应用程序与你的HTTP缓存代理集成 FOSHttpCache 简介这个库集成了你的PHP应用程序和HTTP缓存代理,如 varnish 。 使用此库从应用程序向缓存代理发送无效请求,并针对 varnish 设置测试缓存和...