码迷,mamicode.com
首页 > Web开发 > 详细

http-headers头

时间:2017-10-28 15:39:51      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:性能   headers   参数   header   补充   网页   生成   设置   是什么   

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

last-modified和etag区别
last-modified要比etag运行要快,因为每次请求都需要etag生成一个校验
Etag比lastModified更加严谨,如果资源发生变化,Etag就会发生变化,就会把最新的资源给客户端返回去,而lastModified不识别s(秒)单位里的修改,所以如果资源在s(秒)单位里发生了修改,那lastModified也不会发生改变,这样如果只用了lastModified,客户端得到的资源就不是最新的;但是设定了Etag之后,每次客户端发出请求,服务端都会根据资源重新生成一个Etag,对性能有影响
所以Etag是lastModifed的补充

Cache-control参数
值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。
而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:
Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)

http-headers头

标签:性能   headers   参数   header   补充   网页   生成   设置   是什么   

原文地址:http://www.cnblogs.com/my-notebook/p/7746941.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!