当前位置: 首页> 技术文档> 正文

Nginx的expires指令如何设置资源过期时间?

在 Web 开发中,合理设置资源的过期时间对于提高网站性能和减少服务器负载具有重要意义。Nginx 的 expires 指令可以用于设置资源的过期时间,让浏览器在缓存中存储资源一段时间,从而避免频繁地向服务器请求相同的资源。

Expires 指令的基本语法如下:

```

expires [time|epoch|max|off];

```

其中,`time` 可以是一个具体的时间值,如 `expires 1d` 表示资源在 1 天后过期;`epoch` 表示相对于 Unix 纪元(1970 年 1 月 1 日 00:00:00 UTC)的时间;`max` 表示资源永远不过期;`off` 表示禁用缓存。

以下是一些具体的示例来说明如何使用 expires 指令设置资源过期时间:

1. 设置资源在 1 小时后过期:

```

location /images/ {

expires 1h;

}

```

在这个示例中,所有位于 `/images/` 目录下的资源将在 1 小时后过期。浏览器在缓存中存储这些资源 1 小时后,会再次向服务器请求更新的资源。

2. 设置资源在特定日期过期:

```

location /css/ {

expires "2023-12-31 23:59:59";

}

```

这里将 `/css/` 目录下的资源设置为在 2023 年 12 月 31 日 23:59:59 过期。这样,浏览器在该日期之后会重新请求这些资源。

3. 让资源永远不过期:

```

location /js/ {

expires max;

}

```

通过将 `expires` 设置为 `max`,可以让 `/js/` 目录下的资源永远保存在浏览器缓存中,除非手动清除缓存或资源发生了变化。

4. 禁用缓存:

```

location /downloads/ {

expires off;

}

```

使用 `expires off` 可以禁用 `/downloads/` 目录下资源的缓存,每次访问都会向服务器请求最新的资源。

需要注意的是,expires 指令的设置应该根据资源的更新频率和稳定性来合理调整。对于经常更新的资源,如新闻页面、动态数据等,不适合设置过长的过期时间,以免用户获取到过期的内容。而对于静态资源,如图片、CSS、JS 等,可以设置相对较长的过期时间,以提高用户访问的性能。

还可以结合 HTTP 的缓存头信息来进一步控制资源的缓存行为。例如,使用 `Cache-Control` 头信息可以更精细地设置缓存策略,如 `Cache-Control: max-age=3600` 表示资源在 3600 秒(1 小时)后过期。

Nginx 的 expires 指令是设置资源过期时间的重要工具,可以帮助优化网站性能和减少服务器负载。通过合理设置过期时间,可以让浏览器更好地利用缓存,提高用户访问的速度和体验。在实际应用中,需要根据具体情况进行调整和优化,以达到最佳的效果。

Copyright©2018-2025 版权归属 浙江花田网络有限公司 逗号站长站 www.douhao.com
本站已获得《中华人民共和国增值电信业务经营许可证》:浙B2-20200940 浙ICP备18032409号-1 浙公网安备 33059102000262号