[转]【技术心得】Last-Modified,Etag,Expire区别

Last-Modified 是什么

Last-Modified 是 HttpHeader 中的资源的最后修改时间,如果带有 Last-Modified ,下一次发送 Http 请求时,将会发生带 If-modified-since 的 HttpHeader 。如果没有过期,将会收到 304 的响应,从缓存中读取。

Etag 是什么

Etag 是 HttpHeader 中代表资源的标签,在服务器端生成。如果带有 Etag ,下一次发送带 Etag 的请求,如果Etag 没有变化将收到 304 的响应,从缓存中读取。

Etag 在使用时要注意相同资源多台 Web 服务器的 Etag 的一致性。

Expire 是什么

Expire 是 HttpHeader 中代表资源的过期时间,由服务器段设置。如果带有 Expire ,则在 Expire 过期前不会发生Http 请求,直接从缓存中读取。用户强制 F5 例外。

Last-Modified,Etag,Expire 混合

通常 Last-Modified,Etag,Expire 是一起混合使用的,特别是 Last-Modified 和 Expire 经常一起使用,因为 Expire可以让浏览器完全不发起 Http 请求,而当浏览器强制 F5 的时候又有 Last-Modified ,这样就很好的达到了浏览器段缓存的效果。

Etag 和 Expire 一起使用时,先判断 Expire ,如果已经过期,再发起 Http 请求,如果 Etag 也过期,则返回 200响应。如果 Etag 没有过期则返回 304 响应。

Last-Modified,Etag,Expires 三个同时使用时。先判断 Expire ,然后发送 Http 请求,服务器先判断 last-modified,再判断 Etag ,必须都没有过期,才能返回 304 响应。

原文:

http://coolfiry.iteye.com/blog/1189525

时间: 2024-10-10 20:17:14

[转]【技术心得】Last-Modified,Etag,Expire区别的相关文章

Xen虚拟化技术中PV和HVM的区别

转自 这里 Xen是一个开源的type-1或者裸机管理程序,它使得一个物理主机能够同时并行运行多个相同的或者不同的操作系统实例.Xen是目前唯一的开源可得的type-1管理程序.Xen被应用于许多商业和开源的应用程序中,比如:服务器虚拟化(server virtualization).基础设施即服务(Infrastructure as a Service).桌面虚拟化(desktop virtualization).安全应用程序(security applications).嵌入式和硬件设备(e

开通博客,分享技术心得!

开通博客,分享技术心得! 2013-05-13 开通博客,分享技术心得!,布布扣,bubuko.com

技术心得十 内存社会的想象

大家好! 我又忍不住要和大家用文字吐露心扉.倾述生活. 今天我逛了 还到了 http://www.bootcss.com/ 然后,我还想和大家分享一下代码的心得,我想细细地说一下内心的感受.我不是在讲技术,我想传递的是带着技术的生活. 我们很多时候,讨论语言带着很强的逻辑味道.我从想像的视角来诠释一下: 内存的形象 我觉得我们所讲的一切都是"内存社会"的生活.那复杂的组织关系,继承.闭包,不正是人间的生动写照吗?我们每一天敲打的语言,不正是寄托了我们在内存社会的理想吗?我要开始敲打我的

XEN、VMware和Hyper-V三种虚拟化技术切割的VPS有什么区别?

首先,先来了解一下XEN.VMware和Hyper-V: 1. Xen XEN 是英国剑桥大学计算机实验室开发的一个虚拟化开源项目,XEN 可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少. Xen通过一种叫做准虚拟化的技术获得高性能,甚至在某些与传统虚拟技术极度不友好的架构上(x86),Xen也有上佳的表现.与那些传统通过软件模拟实现硬件的虚拟机不同,在Intel VT-X支持下3.0版本之前的Xen需要系统的来宾权限,用来和Xen API进行连接. 2.

研究技术心得

无论是研究前言技术还是被别人用剩下的技术,其实对于不太了解的技术人员来说经历的过程差不多. 都会经历如下过程: 第一步: 第二步: 当你做完以上步骤以后,都应该会有一个很大的感受,技术越辨越明,越辨越多,越辨越少.知其然快乐,知其所以然就不是能用快乐来简单的形容了,只能用心去体会了. 每一项技术在网上都会找到相应的介绍以及相关实现,无论该技术是多么的复杂,但是只要经过你的耐心.细心,应该最终都能够实现你想要的结果,但是此时你也只能得到 该技术的肉,它的魂你是不可能从网上得到的,只有你经过不断的性

css扩展技术:Less和Sass的区别

这个周学习了Less和Sass这两个css框架,我基本了解了它们各自的语法和特性,并通过两个html网页设计的练习,感受一下它们给我们开发者在进行css网页布局过程中带来的便利.下面是我对它们之间的区别的一些总结. Less和Sass的相同之处: 1.变量:可以单独定义一系列通用的样式,在需要的时候进行调用. 2.混合(Mixins):class中的class(讲一个class引入到另一个class,实现class与class之间的继承),还可以带参数的混合,就像函数一样. 3.嵌套:class

区块链技术心得

区块链发展到今天,能在今天这个节点产生如此大的轰动效应,不得不说比特币功不可没!中本聪功不可没!提到中本聪,在这不得不多说两句,本来我以为他一定是个什么大公司的老板,在我了解他之后,我非常震惊:他原来是个穷困潦倒的人.网上对他的介绍是,他是个物理学家,工程师.他本来完全可以借助比特币成为一个亿万富翁,可是他却让人不可思议的放弃了,一夜之间突然消失在人们的视线之外.我在想,一个人来到这个世界,每天忙忙碌碌是为什么呢?对大部分人来说,主要两个字:名利.中本聪舍弃了利,那是为了名吗?我们再来看看,他隐

cms项目技术心得!

技术一:轮播图的管理 在Mysql数据库中.创建一个存放轮播图的一个表格.设计表格的字段分别为: //图片的id(编号) private Integer imgid; //图片的路径 private String storepath; //图片的名称 private String storename; //图片的介绍(描述) private String intro; //是否启用 true:启用 false:禁用 private Boolean isenabled; //录入时间 privat

第十章 嵌入式linux的调试技术 心得笔记

1.主要讲了对于复杂的Linux驱动以及HAL等程序库,需要使用各种方法对其进行调试.例如,设置断点.逐步跟踪代码.输出调试信息等. 2.打印内核调试信息:printk printk 函数的用法与printf 函数类似,只不过printk函数运行在内核空间, printf函数运行在用户空间.也就是说,像Linux 驱动这样的Linux内核程序只能使用printk函数输出调试信息. 3.防止printk函数降低Linux驱动性能 虽然使用printk 函数可以很方便地将消息写入日志文件或控制台.但