找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 43|回复: 7

一段反代缓存代码,谁能解释一下?

[复制链接]

20

主题

15

回帖

108

积分

注册会员

积分
108
发表于 2012-12-16 21:28:33 | 显示全部楼层 |阅读模式
在配置LNMP反代缓存时,在好多地方看到下面一段代码[ol]
  • server
  • {
  • listen          80;
  • server_name     www.vpsmm.com; #主机名
  • location / {
  • proxy_cache cache_one;
  • proxy_cache_valid  200 304 3d; #正常状态缓存时间3天
  • proxy_cache_key $host$uri$is_args$args;
  • proxy_pass          http://cache.vpsmm.com/; #反代的网站
  • proxy_redirect      off;
  • proxy_set_header    X-Real-IP       $remote_addr;
  • proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
  • expires 10d; #默认10天缓存
  • access_log  /home/wwwlogs/vpsmm.log  access; #日志文件
  • }
  • }[/ol]复制代码我想问下这个"proxy_cache_valid  200 304 3d; #正常状态缓存时间3天"和"expires 10d; #默认10天缓存"有什么区别?分别指得是什么时间?在网上搜遍了也没有找到明确解释,无奈来这里发帖求助.
  • 回复

    使用道具 举报

    112

    主题

    3243

    回帖

    6882

    积分

    论坛元老

    积分
    6882
    发表于 2012-12-16 21:35:15 | 显示全部楼层
    字面理解,proxy_cache_valid是200 304状态的数据在反代服务器上缓存3d
    expires 是告诉客户端浏览器文件过期时间是10d
    回复

    使用道具 举报

    305

    主题

    8605

    回帖

    1万

    积分

    论坛元老

    积分
    18151
    发表于 2012-12-16 21:36:08 | 显示全部楼层
    真心看不懂 帮顶
    回复

    使用道具 举报

    20

    主题

    15

    回帖

    108

    积分

    注册会员

    积分
    108
     楼主| 发表于 2012-12-16 21:39:53 | 显示全部楼层

    chairo 发表于 2012-12-16 21:35



    字面理解,proxy_cache_valid是200 304状态的数据在反代服务器上缓存3d
    expires 是告诉客户端浏览器文件过 ...

    200 304状态也属于浏览器文件吧,感觉真乱
    回复

    使用道具 举报

    112

    主题

    3243

    回帖

    6882

    积分

    论坛元老

    积分
    6882
    发表于 2012-12-16 21:35:00 | 显示全部楼层

    yanglingt 发表于 2012-12-16 21:39



    200 304状态也属于浏览器文件吧,感觉真乱

    什么叫反代?
    反代获取后端,后端返回给反代服务器不也是包含状态码的么……

    我是从字面去理解的,有可能理解错吧,等专家的权威解释吧。不然就去nginx.org之类的翻英文资料,或者看nginx的源代码……
    回复

    使用道具 举报

    1153

    主题

    1万

    回帖

    2万

    积分

    论坛元老

    积分
    26749
    发表于 2012-12-16 21:42:05 | 显示全部楼层

    单手摘月 发表于 2012-12-16 23:37

    參考這兩個鏈接

    http://wiki.nginx.org/HttpHeadersModule

    月妹也成谢总一样的技术帝了
    回复

    使用道具 举报

    1153

    主题

    1万

    回帖

    2万

    积分

    论坛元老

    积分
    26749
    发表于 2012-12-16 21:39:00 | 显示全部楼层
    没懂
    回复

    使用道具 举报

    245

    主题

    1738

    回帖

    4239

    积分

    论坛元老

    积分
    4239
    发表于 2012-12-16 23:35:25 | 显示全部楼层

    单手摘月 发表于 2012-12-16 23:35



    200  304是後端返回給前端的狀態碼,後端返回這兩個狀態碼就緩存3天

    expires是給瀏覽器看的,通常ctrl+f5 ...


    那如果我想网页缓存3天,用proxy_cache_valid  200 304 3d还是expires 3d?这个expires 3d好象没用吧
    "

    proxy_cache_valid是配置里面proxy_cache_path文件的有效期,expires是http header里面的expire 值。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-1-26 05:02 , Processed in 0.023933 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表