添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

HTTP协议的Cache -Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置 Cache-Control并不会影响另一个消息处理过程中的缓存处理过程。

  • 请求时的缓存指令包括: no-cache、no-store、max-age、 max-stale、min-fresh、only-if-cached等。

  • 响应消息中的指令包括: public、private、no-cache、no- store、no-transform、must-revalidate、proxy-revalidate、max-age。

    Cache-Control

    设置相对过期时间, max-age指明以秒为单位的缓存时间. 若对静态资源只缓存一次, 可以设置 max-age 的值为315360000000 (一万年). 比如对于提交的订单,为了防止浏览器回退重新提交,可以使用Cache-Control之no-store绝对禁止缓存,即便浏览器回退依然请求的是服务器,进而判断订单的状态给出相应的提示信息!

    Http协议的cache-control的常见取值及其组合释义:

  • no-cache : 数据内容不能被缓存, 每次请求都重新访问服务器, 若有max-age, 则缓存期间不访问服务器.
  • no-store : 不仅不能缓存, 连暂存也不可以(即: 临时文件夹中不能暂存该资源).
  • private (默认): 只能在浏览器中缓存, 只有在第一次请求的时候才访问服务器, 若有max-age, 则缓存期间不访问服务器.
  • public : 可以被任何缓存区缓存, 如: 浏览器、服务器、代理服务器等.
  • max-age : 相对过期时间, 即以秒为单位的缓存时间.
  • no-cache , private: 打开新窗口时候重新访问服务器, 若设置max-age, 则缓存期间不访问服务器.
  • private , 正数的max-age: 后退时候不会访问服务器.
  • no-cache , 正数的max-age: 后退时会访问服务器.
  • server {
        listen       443;
        server_name  www.orchome.com;
        charset utf-8;
        ssl                  on;
        ssl_certificate      /daka/program/nginx/conf/server.cer;
        ssl_certificate_key  /daka/program/nginx/conf/server.key;
        ssl_session_timeout  15m;
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
        # 设置浏览器缓存 
        add_header Cache-Control no-cache;
        add_header Cache-Control private;
        location /user {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.168.0.221:8082/user/list;
            if ($request_filename ~* .*.(html|htm)$)
             expires -1s;
             if ($request_filename ~* .*.(gif|jpg|jpeg|png|bmp|swf)$)
             expires 30d;
             if ($request_filename ~ .*.(js|css)$)
             expires 12h;
           location /static {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.168.0.20:8082/static;
            if ($request_filename ~* .*.(html|htm)$)
             expires -1s;
             if ($request_filename ~* .*.(gif|jpg|jpeg|png|bmp|swf)$)
             expires 30d;
             if ($request_filename ~ .*.(js|css)$)
             expires 12h;
       location / {
            proxy_redirect off;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://172.168.0.221:8080/;
            if ($request_filename ~* .*.(html|htm)$)
    #         expires -1s;
             if ($request_filename ~* .*.(gif|jpg|jpeg|png|bmp|swf)$)
             expires 30d;
             if ($request_filename ~ .*.(js|css)$)
             expires 12h;