【问题标题】:nginx : meaning of "expires 30d"nginx:“过期 30d”的含义
【发布时间】:2014-04-07 01:58:02
【问题描述】:

[更新]

expires 30d :静态文件缓存在客户端浏览器上的 30 天后过期

etag on :此属性仅在版本 1.3.3 之后可用。每个静态文件都有'etag 散列值'。如果静态文件被更改(即使尚未过期),客户端将向服务器发出请求。

================================================ =====================

这是 django 项目的 nginx.conf 文件示例

server {
    listen 80;
    server_name hostname.com;

    ...

    location /static/ {          # STATIC_URL
        alias /path/to/static/;  # STATIC_ROOT
        expires 30d;
    }

    location /media/ {           # MEDIA_URL
        alias /path/to/media/;   # MEDIA_ROOT
        expires 30d;
    }

    ...
}

在这段代码中,“expires 30d”是什么意思?

(1) 静态,媒体文件30天后会被删除,manage.py会自动重新生成。

(2) 静态,媒体文件会在30天后被删除,我应该手动输入manage.py collectstatic

同样,我想知道“expires max”的含义

【问题讨论】:

    标签: django nginx static


    【解决方案1】:

    这会在响应中添加两个 HTTP 标头(ExpiresCache-Control)。浏览器使用这些标头来缓存内容,避免每次加载页面时对静态内容执行相同的请求。

    expires 30d 表示静态和媒体文件夹中的所有内容将在 30 天内被浏览器缓存,但不会删除任何内容,您无需在服务器中重新生成任何内容。

    expires maxExpires 标头设置为值“Thu,2037 年 12 月 31 日 23:55:55 GMT”,Cache-Control 设置为 10 年。

    更多详情请参阅 nginx 文档:http://nginx.org/en/docs/http/ngx_http_headers_module.html

    有关 HTTP 缓存的更多信息,请参阅http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/

    【讨论】:

    • 哦,我不知道这是客户端浏览器的缓存设置,而不是服务器端。感谢您的友好回答! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    相关资源
    最近更新 更多