首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

静态内容的http标头中的"Expires"?如何

Expires是在HTTP协议标头中的一个字段,它指示浏览器应该保存此资源多长时间。通常用于缓存控制或节省网络带宽,例如图片、CSS文件等。该字段的值是字符串,其中包含了表示资源过期时间的Unix时间戳。如果不存在Expires,浏览器将不会缓存该资源。

如何使用Expires:

  1. 在HTTP请求中,向标头添加Expires字段。例如,对于HTML文件,可以添加以下标头信息:HTTP/1.1 200 OK Content-Type: text/html Cache-Control: public, max-age=600 Expires: Thu, 14 Apr 2022 00:00:00 GMT这将使缓存有效期从600秒开始,并将在2022年4月14日的00:00:00 GMT过期。 2. 在响应时,检查Expires中的时间戳与当前时间进行比较,确保未过期。如果当前时间晚于Expires中的时间戳,则将缓存清除或超时失效。

Expires的缺点:

  1. Expires仅适用于静态文件,不支持动态内容。因此,对于动态内容,需要启用其他过期控制机制。
  2. Expires无法跟踪动态资源的实际使用次数,因此无法判断何时应更新或删除缓存。

以下是一些建议:

  1. 为动态内容启用“Cache-Control: max-age”,以控制缓存过期时间。
  2. 使用“Vary”标头来防止多个资源被同时缓存,以提高缓存效率。
  3. 如果内容更改很少,则可以考虑使用ETag或Last-Modified字段控制缓存过期时间。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

http请求头中缓存实现

,真正意义上不缓存 public,代表 http 请求返回内容所经过任何路径当中(包括中间一些http代理服务器以及发出请求客户端浏览器),都可以对返回内容进行缓存操作 private,代表只有发起请求浏览器才可以进行缓存...通过HTTP响应头控制,也就是我们在上面说到catche-control和expires Expires设置过期时间是一个绝对GMT时间,例如:Expires:Thu,20 Jun 2019...Etag优点在于,对于动态资源或者现在流行Restful API返回JSON数据,这些是没有修改时间这一说法,但是Http标准并没有规定Etag值如何生成,因此我们通过代码自己生成Etag值。...Cache-Control+Last-Modified+ETag 优先级会如何?...因为http1.1>http1.0,所以Cache-Control>Expires,ETag>Last-Modified。

1.9K30

Http请求头中各字段含义

Accept 浏览器(或者其他基于HTTP客户端程序)可以接收内容类型(Content-types),例如 Accept: text/plain Accept-Charset 浏览器能识别的字符集,...Authorization头中附带,格式是“username:password”字符串base64编码,例如:Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ...或者浏览器上)应该怎样处理缓存,因为这个头域比较重要,特别是希望使用缓 存改善性能时候,内容也较多,所以我想在下一篇博文中主要介绍一下。...请求体是指在HTTP头结束后,两个CR-LF字符组之后内容,常见有POST提交表单数据,这个Content-Length并不包含请求行和HTTP数据长度。...例如:Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== Range 在HTTP头中,”Range”字眼都表示“资源byte形式数据顺序排列

1.1K40
  • 通过 HTTP XSS

    在某些情况下,在应用程序一个 HTTP 头中传递信息未正确清理,并在请求页面的某处或另一端输出,从而导致 XSS 情况。...但不幸是,一旦攻击者无法让受害者在实际 XSS 攻击中编辑他/她自己 HTTP 头,那么只有在攻击者有效负载以某种方式存储时才能利用这些场景。...我们可能想到第一种情况是典型情况:我们可以控制 HTTP 头中一些信息存储在数据库中,稍后在同一页面、应用程序其他任何地方甚至是另一个不可访问系统中检索攻击者(盲 XSS)。...\n”; 正如我们在下面看到,在带有 -i 标志命令行中使用 curl,它会向我们显示响应 HTTP 头以及包含我们请求 JSON。...由于我们在这篇博客中使用 WAF 提供最后一个头“x-sucuri-cache”,我们需要在 URL 中添加一些内容以避免缓存,因为该值是“HIT”,这意味着它即将到来来自 WAF 缓存。

    2.1K20

    Java HTTP请求 如何获取并解析返回HTML内容

    Java HTTP请求 如何获取并解析返回HTML内容在Java开发中,经常会遇到需要获取网页内容情况。而HTTP请求是实现这一目标的常用方法之一。...本文将介绍如何使用Java进行HTTP请求,并解析返回HTML内容。...JavaHTTP请求 如何获取并解析返回HTML内容首先,我们需要导入相关Java类库:java.net包中HttpURLConnection类和java.io包中InputStreamReader...request failed with response code: \ + responseCode);}}}通过上述代码,我们可以获取并解析返回HTML内容,从而实现对网页内容进一步处理和分析...总结来说,本文介绍了如何使用Java进行HTTP请求,以及如何获取并解析返回HTML内容。掌握这些基本HTTP请求和HTML内容处理技巧,对于开发Java网络应用程序是非常有帮助

    76040

    WEB缓存探究

    浏览器缓存 HTML中Meta标签 http-equiv属性,相当于http文件头中参数,而content内容则是对应参数值 <!...Cache-Control Cache-Control 头是在 HTTP/1.1 规范中定义,取代了之前用来定义响应缓存策略头例如 Expires。...HTTP 1.0代理,那么你可以无视Expires Cache-Control: no-store, must-revalidate 如果服务器自动包含有效Date头,则理论上也可以省略Cache-Control...HTTP 1.0) 项目实践 更新文件&弃用缓存 在项目中,当我们使用本地缓存后又会遇到另一个问题——如何更新文件、弃用缓存。...其他技巧 减少对Cookie依赖,因为每次HTTP请求都会带上Cookie,这回增大传输流量(当然将静态资源挂载在其他域名下,也可以达到cookie free效果)

    72940

    使用结构化头字段改善HTTP

    HTTP头有什么问题?...它们会携带请求和响应元数据,通常,这部分数据是消息发送者由于某种原因无法放入正文内容信息,或者是消息接收者无需查看正文内容即可获得信息。...例如,他们可以说“这是一个字符串列表”,人们将知道如何使用一个现成库来明确地解析和生成头,而不是编写特定于头代码。...如果我们将其解析为结构化字段并存储单个数据类型,我们可以存储: lmax-age l3600 ls-maxage l7200 lmust-revalidate 这些变量中每一个都可以在将来头中出现时分别引用...同时,可以通过具体实现来了解它们是如何工作。例如,Python http_sfv库允许从命令行解析它们。

    63810

    PHP获取HTTP body内容方法总结

    PHP 提供了一些杂项输入/输出(IO)流,允许访问 PHP 输入输出流、标准输入输出和错误描述符, 内存中、磁盘备份临时文件流以及可以操作其他读取写入文件资源过滤器。...本文涉及到了了,php://input,详尽内容请参阅官网:点击查看官网 (http://php.net/manual/zh/wrappers.php.php) php://input 是个可以访问请求原始数据只读流...POST 请求情况下,最好使用 php://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定 php.ini 指令。...而且,这样情况下 $HTTP_RAW_POST_DATA 默认没有填充, 比激活 always_populate_raw_post_data 潜在需要更少内存。...这对于一体式(all-in-one)文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。

    2.9K10

    HTTP缓存机制Etag、Last-Modified、If-None-Match和If-Modified-Since、Expires和Cache-Control笔记

    比如下图 因为响应报文响应头中Expires字段会告诉客户端这个资源过期时间,在过期之前可以继续使用。...所以,建议Expires结合Cache-Control一起使用,大型网站中一起使用情况比较多见。 Cache-Control: 该字段是HTTP/1.1协议中,可以是请求头中或者响应头中字段。...可以通过将Expires HTTP版本1.0头字段值设置为早于响应时间时间来进行模拟。Cache-Control相对于Expires更加具体,细致。...它是浏览器告诉服务器和任何中间缓存它想要新资源一种手段。这个和HTTP / 1.0规范中定义Pragma:no-cache头字段具有相同目的。但是,它仅为请求头定义。...If-Modified-Since如果提供日期以来尚未更改,服务器不会发送文档实际内容。 如果文档ETag仍然与If-None-Match值匹配,则服务器将不发送实际文档。

    1.8K20

    HTTP最基础内容,面试还不会?

    我们都知道关于 HTTP 一直都是面试里面经常被问到内容,也是在开发时候遇到一些关于 HTTP 状态码问题,从而来定位解决问题。今天了不起就来说一下这个关于 HTTP 相关知识。...0.9协议就是一个交换信息无序协议,仅仅限于文字。由于无法进行内容协商,在双发握手和协议中,并有规定双发内容是什么,也就是图片是无法显示和处理。...毕竟,作为协议制定者,当时也没有想到HTTP会有那么快普及速度。 2.0 HTTP2.0前身是HTTP1.0和HTTP1.1。...HTTPS HTTPS :是以安全为目标的HTTP通道, 通俗说就是安全版本HTTP 为啥叫做HTTPS , S含义, SSL:加密,在HTTP下加入SSL层 那加入 SSL 层意义在哪呢?...前者是80端口 后者是443端口 http连接很简单,是无状态;https协议是由 SSL + HTTP协议构建可进行加密传输,身份认证网络协议,比http协议安全.

    13420

    在Spring Boot中实现HTTP缓存

    缓存是HTTP协议一个强大功能,但由于某些原因,它主要用于静态资源,如图像,CSS样式表或JavaScript文件,但是,HTTP缓存不仅限于这些,还可以将其用于动态计算资源。...在本文中,您将学习如何使用内置HTTP响应缓存机制来实现缓存SpringBoot控制器结果。 1.如何以及何时使用HTTP响应缓存? 您可以在应用程序多个层上进行缓存。...HTTP协议定义了几个请求和响应头,您可以使用它们来控制客户端何时清除缓存。 选择适当HTTP头取决于您要优化特定情况。...应该使用Expires HTTP头。应使用标准化数据格式之一格式化日期值。...当客户端再次访问资源时,它应该在名为If-None-Match头中发送其值。如果该值与资源新计算ETag匹配,则服务器可以使用空内容HTTP代码304进行响应。

    5.2K50

    你还在为 HTTP 这些概念头疼吗?

    HTTP 通用头主要用于传达有关消息本身信息,而不是它所携带内容。它们提供一般信息并控制如何处理和处理消息。...Cache-Control 是通用指令,它能够管理如何HTTP 请求或者响应使用缓存。...下表提供了一个 Cache-Control 选项总结并告诉你如何去使用 “请注意,在 Cache-Control 头中只能出现一个指令,但是在消息中可以出现多个这样头。 ?...例如下面这种写法 Server: Apache/2.4.1 (Unix) Vary Vary HTTP 响应头确定如何匹配请求头,以决定是否可以使用缓存响应,而不是从原始服务器请求一个新响应。...Expires HTTP Expires 实体头包含 日期/时间,在该日期/时间之后,响应被认为过期;在响应时间之内被认为有效。特殊值比如0表示过去日期,表示资源已过期。

    2.3K30

    HTTP头」都给你整理好了

    HTTP 通用头主要用于传达有关消息本身信息,而不是它所携带内容。它们提供一般信息并控制如何处理和处理消息。...Cache-Control 是通用指令,它能够管理如何HTTP 请求或者响应使用缓存。...下表提供了一个 Cache-Control 选项总结并告诉你如何去使用 “请注意,在 Cache-Control 头中只能出现一个指令,但是在消息中可以出现多个这样头。 ?...例如下面这种写法 Server: Apache/2.4.1 (Unix) Vary Vary HTTP 响应头确定如何匹配请求头,以决定是否可以使用缓存响应,而不是从原始服务器请求一个新响应。...Expires HTTP Expires 实体头包含 日期/时间,在该日期/时间之后,响应被认为过期;在响应时间之内被认为有效。特殊值比如0表示过去日期,表示资源已过期。

    5.4K41

    对 Google 说不 - 本站已启用屏蔽 FLoC HTTP

    什么是 FLoC FLoC 通过获取浏览器浏览记录将用户加入 “相似” 用户分组内,每个分组拥有对应 FLoC ID。...为什么要抵制 FLoC FLoC 被拒绝原因正是目前第三方 Cookie 逐渐消失原因,我们需要是第三方 Cookie 消失,而不是出现一个类似 (甚至在用于追踪情况下功能更加完善) 替代品...EFF 这篇博文详细解释了部分细节,如果需要可以尝试阅读一下。...uBlock 等工具进行屏蔽 CloudFlare Browser Insights:CloudFlare 提供网页性能监测工具,不会收集用户特定信息 可以做事 为自己站点添加相关拒绝头:...Edge 关于 FLoC 更多内容 EFF - Am I FLoCed?

    85810

    一文搞懂浏览器缓存策略

    2.3.2 在请求头中max-age max-age在请求头中主要应用为max-age=0表示不使用缓存。...刷新时Cache-Control为max-age=0验证如下: 单独访问图片资源http://localhost:1030/avatar.jpg,开启Network,然后刷新,可在响应头中看到上述内容。...如果Expires,Cache-Control: max-age,或 Cache-Control:s-maxage都没有在响应头中出现,并且设置了Last-Modified时,那么浏览器默认会采用一个启发式算法...使用签名或者版本来区分静态资源。这样静态资源会生成不同资源访问链接,不会产生修改之后无法感知情况。...问题2:如果将上述信息中Cache-Control设置为 private,那么结果又会如何呢? 大家先回忆下上面的内容,思考一下。

    1.1K20

    HTTP缓存(Cache-Control、Expires 、ETag)

    那么如何重复利用之前获取资源而不用反复请求呢?答案是HTTP缓存,这是性能优化一个重要方面。 接下来在响应里设置响应头 Cache-Control: max-age=30 刷新两次首页 ?...第二次时间为0 响应头中Cache-Control: max-age=30表示客户端将这个缓存最多 保存30 秒,30秒后再次请求文件将会再次下载。 ?...好在每个浏览器都自带了 HTTP 缓存实现功能。您只需要确保每个服务器响应都提供正确 HTTP 头指令,以指示浏览器何时可以缓存响应以及可以缓存多久。...Expires Expires 是以前用来控制缓存http头,Cache-Control是新版API。 现在首选 Cache-Control。...如果MD5一样,说明文件没改过,那么返回304 304 Not Modified: HTTP 304 未改变说明无需再次传输请求内容,也就是说可以使用缓存内容

    5.3K50

    Nginx专题-静态资源

    章节目录 静态资源分类 CDN场景 nginx作为静态资资源web服务_配置语法 浏览器缓存 服务器端设置浏览器缓存过期实践 跨站访问 静态资源分类 静态资源:非服务器动态运行生成文件 类型 种类 浏览器端渲染...1; 可配置模块:http、server、location 压缩模块扩展 http_gzip_static_module-支持预读gzip功能 作用:较少网络资源消耗,提高静态资源快速响应能力,...提高服务端处理效率 浏览器缓存 http协议定义缓存机制 如:Expires;cache-control等 校验过期机制 校验是否过期 Expires-1.0、Cache-Control(max-age...85%E5%AE%B9 "用户生成内容")网站中。...如何通过nginx服务器设置,使得api.abc.com 允许跨站访问呢?

    1.4K20
    领券