nginx:"到期的含义30d"

时间:2014-04-07 01:58:02

标签: django nginx static

[更新]

到期30天:静态文件缓存在客户端浏览器上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;
    }

    ...
}

在此代码中,“ 过期30d ”的含义是什么?

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

expires maxExpires标题设置为&#34;星期四,2037年12月31日23:55:55 GMT&#34;和Cache-Control到10年。< / p>

有关详细信息,请参阅nginx文档:http://nginx.org/en/docs/http/ngx_http_headers_module.html

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