什么是Etag?ETag的应用
当发送一个服务器请求时,浏览器首先会进行缓存过期判断。浏览器根据缓存过期时间判断缓存文件是否过期若没有过期,则不向服务器发送请求,直接使用缓存中的结果。
此时,我们在浏览器控制台中可以看到200 OK( from cache),这种情况就是完全使用缓存,浏览器和服务器没有任何交互。
若已过期,则向服务器发送请求。此时,请求中会带上文件修改时间和Etag,然后进行资源更新判断。
服务器根据浏览器传过来的文件修改时间,判断自浏览器上一次请求之后,文件是否被修改过。根据Etag,判断文件内容自上一次请求之后,有没有发生变化。
若两种判断的结论都是文件没有被修改过,服务器就不给浏览器发送新的内容,而是直接告诉浏览器,文件没有被修改过,可以继续使用缓存—-304 Not Modified。
此时,浏览器就会从本地缓存中获取请求资源的内容,这种情况叫协议缓存,浏览器和服务器之间有一次请求交互。
若修改时间或文件内容判断中有任意一个没有通过,则服务器会受理此次请求,并返回新的数据注意,只有get请求会被缓存,post请求不会。
Etag由服务器端生成,客户端通过 If-Match或者If-None- Match这个条件判断请求来验证资源是否修改。常见的是使用I-None- Match。请求一个文件的流程如下。
第一次请求时,客户端发起 Http Get请求,以获取一个文件,服务器处理请求,返回文件内容和请求头(包括Eag),并返回状态码200第二次请求时,客户端发起 Http Get请求,以获取一个文件。
注意ÿ
什么是Etag?ETag的应用相关推荐
- 服务器怎么判断文件修改etag,ETag介绍
1.概念 HTTP协议规格说明定义ETag为"被请求变量的实体值".另一种说法是,ETag是一个可以与Web资源关联的记号(token).典型的Web资源可以一个Web页,但也可能 ...
- http响应Last-Modified和ETag以及Apache和Nginx中的配置
基础知识 1) 什么是"Last-Modified"? 在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属 ...
- 502无法解析服务器标头_编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match...
502无法解析服务器标头 客户端缓存是万维网的基础之一. 服务器应通知客户端资源的有效性,客户端应尽可能快地对其进行缓存. 如我们所见,如果不缓存Web,它将非常缓慢. 只需在任何网站上Ctrl + ...
- 编写下载服务器。 第二部分:标头:Last-Modified,ETag和If-None-Match
客户端缓存是万维网的基础之一. 服务器应告知客户端资源的有效性,客户端应尽可能快地对其进行缓存. 如我们所见,如果不缓存Web,将会非常慢. 只需在任何网站上Ctrl + F5并将其与普通F5进行比较 ...
- Lighttpd1.4.20源码分析之etag.c(h) -------HTTP/1.1中的Etag域
etag的全称是entity tag(标记实体值),在RFC2616中关于etag的定义如下: The ETag response-header field provides the current ...
- HTTP响应头之ETag
在HTTP1.1规范中,新增了一个HTTP头信息:ETag.对Web开发者来说,它是一个非常重要的信息.它是用作缓存使 用的两个主要的头信息之一 (另一个是Expires).除此之外,在REST架构中 ...
- Expires / Cache-Control / Last-Modified / If-Modified-Since / ETag / If-None-Match 区别使用
Expires / Cache-Control / Last-Modified / If-Modified-Since / ETag / If-None-Match 区别使用 http://hi.ba ...
- Nginx Etag学习
Nginx Etag学习 Nginx Etag 什么是Etag Last-Modified / If-Modified-Since Etag工作原理 为什么要使用Etag Etag字符含义 强Etag ...
- php设置etag,PHP操作http中Etag、lastModified和Expires标签
客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse ...
- etag java_HTTP ETag和HTTP重定向
我有一个Web服务器,它在响应中发出 ETag 标头,并检查客户端的 If-None-Match 标头(如果存在) . 在这种情况下,客户端不是Web浏览器,而是go的内置 net/http http ...
最新文章
- jdbcdslog hibernate sql log
- pywebio 和 pyecharts天生一对
- [译] MDC-101 Flutter:Material Components(MDC)基础(Flutter)
- DELL optiplex 解决改回 AHCI蓝屏问题
- gcc/g++ 以及makefile
- 机器学习(三十八)——博弈论(1)
- flex 引入css,Flex常用布局
- C++ I/O流 格式控制(下)
- RQNOJ PID379 / 约会计划 -并查集
- Linux 源代码阅读知识点及要求
- ZendFrameWork——文件夹标准
- eclipse中jsp页面 page报错问题
- 2006年上半年开发心得
- SiO2 介孔二氧化硅纳米颗粒的明胶包裹/二氧化硅杂化凝胶固定化醇脱氢酶/白蛋白和壳聚糖包裹的二氧化硅微球/二氧化硅包覆的量子点荧光编码微球
- FreeRTOS消息队列详解第一讲(全网最全)——消息队列概述
- mac 百度输入法如何切换成五笔,如何切换回拼音模式
- 泛微齐业成,一文告诉你如何实现全程数字化的预算管理
- 古月ROS入门21讲学习笔记
- lms c语言,LMS算法实现自适应滤波器(C语言版)
- 华罗庚统筹法与计算机专业,华罗庚的《统筹方法》
热门文章
- 女生做UI设计怎么样?现在学习UI设计还有前景吗?
- sigslot.h 中文文档
- QT基础:QFormLayout 列表布局简单演示
- 完数判断python
- 会计学里借贷记账法的借方与贷方(http://hi.baidu.com/honeyxxd/blog/item/7a8c1ed71e5f23dea044df50.html)
- OpenCV学习笔记(14):形态学滤波对图像进行边缘及角点检测
- linux kdump
- JDBC学习笔记(六)
- 绿色环保又节能,软件开发居然也可以
- 【工业智能】天泽智云揭秘:人工智能如何打造“无忧风场”