首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 关于no-cache [已结贴,结贴人:nil2000]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-06-29 22:53:24 楼主
    在JSP叶面里面,引用一张图片 <td> <img src="http://localhost/xxxx.bmp" width="800"

    height="600"> </td>
    第一次请求的时候,这张图片就会被下载,然后缓存入
    C:\Documents and Settings\adminstrator\Local Settings\Temporary Internet Files
    目录,以后访问将不会再从服务器下载在个这图片了!除非这个jsp叶面设置no cache
    ,只要按照下面的设置,每次都会重新重服务器下载叶面
      <META http-equiv="Content-Language"Content="zh-CN">
      <META http-equiv="Content-Type" content="text/html; charset=GBK">
      <META http-equiv="Content-Script-Type" content="text/javascript">
      <META http-equiv="Content-Style-Type" content="text/css">
      <META http-equiv="Pragma" content="no-cache">
      <META http-equiv="Cache-Control" content="no-cache,no-store,must-

    revalidate,post-check=0,ptr-check=0">
      <META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
    <%
    response.setHeader("Pragma","no-cache");
    response.setHeader("Cache-Control","no-cache,no-store,must-

    revalidate,post-check=0,ptr-check=0");
    response.setHeader("Expires","-1");
    %>


    这是我开始的一个理解啊!可是我昨天测试的时候发现!就算我按照上面的写了!图片也只用下

    载一次!而并不是我之前理解的,只要设置成no-cache,每次请求都要从服务器重新下载图片!
    那到底上面那些no-cache究竟能做些什么事情啊?我都糊涂了阿!有明白的人吗?给我说说啊!

    谢谢!

    而我一个Jsp页面什么都不写,没有任何no-cache的语句。我每次请求他都还要从服务器下载一次这个Jsp文件!跟我理解的也不一样!不知道到底是怎么样的!555
    210  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-29 22:53:261楼 得分:13
    该回复于2008-08-01 05:23:30被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kokobox
    • 等级:
    发表于:2008-06-30 00:17:292楼 得分:13

    <%
    response.setHeader(”Expires”,”0″);
    response.setHeader(”Cache-Control”,”no-store”);
    response.setHeader(”Pragrma”,”no-cache”);
    response.setDateHeader(”Expires”,0);
    %>
    有些时候这个确实不是很好用,但是有的时候却很管用,呵呵,也找不到相应的解释,如果lz用了apache的话,那么就是apache缓存了图片,如果lz没用apache的话

    试一试加上下面这句看看

    <META HTTP-EQUIV="imagetoolbar" CONTENT="no">
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 01:33:263楼 得分:13
    关注中..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 06:21:204楼 得分:13
    1 图片你是怎么设置 no-cache的?好神奇啊!
    2 JSP等页面可以通过如下组合实现
    http://www.java2000.net/viewthread.jsp?tid=6495
    3 验证的方法,用Firefox + Firebug 监控 net里面的链接返回情况就知道了。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chenhongxin
    • 等级:
    发表于:2008-06-30 08:07:245楼 得分:13
    关注中..
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zidasine
    • 等级:
    发表于:2008-06-30 08:22:176楼 得分:13
    还不是很会用 关注
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 13:46:587楼 得分:12
    学习ing。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 15:09:468楼 得分:12
    给你一狠招
    Java code
    <img src="image.jsp?<%=Long.toString(System.currentTimeMillis(), 36)%>">
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 15:11:389楼 得分:0
    给你一狠招
    HTML code
    <img src="http://localhost/xxxx.bmp?<%=Long.toString(System.currentTimeMillis(), 36)%>" width="800" height="600">
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 15:13:4510楼 得分:12
    楼上的这招是做什么用的,可否烦劳解释下?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 15:36:1511楼 得分:0
    引用 10 楼 numen_wlm 的回复:
    楼上的这招是做什么用的,可否烦劳解释下?

    忽悠浏览器,使它相信 xxxx.bmp?fi2rcr2d 是个新文件。
    每次访问包含上面这句的 JSP 页时,它都会把一由当前服务器时间转换来的字符串加到图片连接后面,这样每次刷新 JSP 页面,浏览器会看到一个完全不同的图片 URL(只是?后面的不同),当然不会再用缓存内容了,而服务器收到 xxxx.bmp 请求时会忽略 ? 后面的东西。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-06-30 16:03:4912楼 得分:0
    酱紫啊,知道了,谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:49:3513楼 得分:12
    是有LZ说的问题
    我也比较迷惑
    不过我通常的做法
    图片改变了
    将图片名也改变
    将 <img src="..."/>这里的路径也改变
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 08:50:0314楼 得分:0
    等其他人的解释
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-01 12:27:3715楼 得分:0
    期待详细解释这几个东西啊。。。。。。。。。。。。。。。。。。。。


    大竹子。。。。。。。。。。。。。。。。。。。。你看好多星星都不知道啊。。。。。

    你给我们普及一下么。。。。。。。。。。。。。。。。。。。。。。。谢谢啦


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-01 12:28:1216楼 得分:0
    感激涕零阿
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 13:07:0917楼 得分:0
    HTTP 请求类型共有 N 种,其中除了我们常见的 GET 和 POST 外还有 HEAD 等。而 HEAD 请求的作用顾名思义,服务器收到 HEAD 请求后只发回响应头信息而忽略响应体(响应体一般是请求的网页或图片文件内容本身),在响应头中包含了重要的文件最后修改时间等信息,这个时间跟浏览器缓存密切相关。当第二次向同一个 URL 发 HTTP 请求时,浏览器会先向服务器发送 HEAD 请求而非 GET,当得到服务器响应信息(只有带有文件最后修改时间等信息的响应头而没有文件内容)时,浏览器会将此时间和上次请求缓存起来的文件的最后修改时间相比较,如果时间一样说明文件自上次缓存后没有修改过,浏览器会直接将缓存内容显示出来。如果时间不一样才会再次发送 GET 请求获取文件内容。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-01 13:20:1418楼 得分:0
    HTML code
    <META http-equiv="Pragma" content="no-cache"> <META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">

    上面这些信息是给服务器看的,当请求带上面标签的网页时,服务器会将上面标签中的内容(当然是服务器读取网页文件内容后发现的)以一定形式放到响应头中,当浏览器收到服务器的 HTTP 响应信息时(此响应信息由响应头和响应体两部分组成,响应头中是一些辅助信息例如文件是否应该被缓存文件最后修改时间文件内容类型即MIME等,而响应体为请求的文件内容本身)从响应头中会得知此文件不应作缓存处理,按 HTTP 协议浏览器确实不应该再缓存此文件,但浏览器内部实现千差万别,它完全可以不照做,还是缓存文件,结果你无论如何刷新,显示的始终是缓存内容。当然好的浏览器也会通过分析 HTML 的 META 标签来决定是否应该缓存网页文件,即便响应头中没有说明是否该做缓存处理。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-02 18:56:2119楼 得分:0
    那怎么解释


    我一个Jsp页面什么都不写,没有任何no-cache的语句。我每次请求他都还要从服务器下载一次这个Jsp文件!

    按说这个Jsp文件应该缓存了啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-02 18:56:3920楼 得分:0
    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【nil2000】截止到2008-06-29 22:54:53的历史汇总数据(不包括此帖):
    发帖数:60                发帖分:12450             
    结贴数:58                结贴分:12040             
    未结数:2                  未结分:410               
    结贴率:96.67 %            结分率:96.71 %           
    值得尊敬


    竹子 你这个是怎么做的啊????每个新发的帖子都会自动有一个这个吗?
    你的程序放在csdn的服务器上?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-02 18:56:5621楼 得分:0
    引用 18 楼 sagezk 的回复:
    HTML code <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">


    上面这些信息是给服务器看的,当请求带上面标签的网页时,服务器会将上面标签中的内容(当然是服务器读取网页文件内容后发现的)以一定形式放到响应头中,当浏览器收到服务器的 HTTP 响应信息时(此响应信息由响应头和响应体两部分组成,响应头中是一些…



    那怎么解释


    我一个Jsp页面什么都不写,没有任何no-cache的语句。我每次请求他都还要从服务器下载一次这个Jsp文件!

    按说这个Jsp文件应该缓存了啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 10:41:2222楼 得分:12
    引用 9 楼 sagezk 的回复:
    给你一狠招

    HTML code <img src="http://localhost/xxxx.bmp? <%=Long.toString(System.currentTimeMillis(), 36)%>" width="800" height="600">


    强大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 13:42:3323楼 得分:0
    引用 22 楼 sssxwz 的回复:
    引用 9 楼 sagezk 的回复:
    给你一狠招

    HTML code <img src="http://localhost/xxxx.bmp? <%=Long.toString(System.currentTimeMillis(), 36)%>" width="800" height="600">


    强大
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 16:06:0224楼 得分:0
    引用 19 楼 nil2000 的回复:
    那怎么解释
     
     
    我一个Jsp页面什么都不写,没有任何no-cache的语句。我每次请求他都还要从服务器下载一次这个Jsp文件!
     
    按说这个Jsp文件应该缓存了啊


    JSP 本质上就是 Servlet,一般第一次请求 JSP 页时,服务器会将 JSP 页解释成一个 Servlet 实现类源代码文件,随后编译此文件,实际上处理你的 HTTP 请求的是这个自动处理得到的 Servlet,而 Servlet 内部会自动处理 no-cache 问题,详细可以看看 Servlet 相关的源代码。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 17:01:4625楼 得分:12
    缓存是缓存的路径上服务器资源,
    也就是在陆游过程中的资源。
    而并非本机
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-03 17:12:4826楼 得分:12
    jf
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-05 21:13:2227楼 得分:0
    引用 21 楼 nil2000 的回复:
    引用 18 楼 sagezk 的回复:
    HTML code <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store,must-revalidate,post-check=0,ptr-check=0">


    上面这些信息是给服务器看的,当请求带上面标签的网页时,服务器会将上面标签中的内容(当然是服务器读取网页文件内容后发现的)以一定形式放到响应头中,当浏览器收到服务器的 HTTP 响应信息时(此响应信息由响应头和响…



    那更糊涂了啊!
    JSP页面上,就算显示的写no-cache语句块.
    根据ieHTTPHeaders工具观察,发现访问的时候,静态的图片文件,JS文件,CSS文件仍然会缓存!
    也就是说,只用下载一次,除非删除否则都不用再次下载!是否这样说明no-cache对静态文件根本没用啊?
    而JSP文件无论写不写no-cache语句块,每次访问如果是刷新访问的话都需要重新下载.而且很奇怪的是
    我加上no-cache语句块,然后在浏览器上输入link1回车.然后再输入link2回车.然后在用浏览器上的back按钮
    从link2退回到link1.我理解我用了no-cache块在两个文件里,所以应该不会缓存,tomcat控制台应该输出
    我在link1和link2叶面上写的system.out可是却什么都没输出!
    我实在不知道到底怎么回事!

    1。到底使用了cache会缓存些什么?(现在测试发现起码no-cache对静态文件根本没用),
    2。在什么情况下会缓存?
    3。在什么情况下不会缓存(现在测试发现起码刷新的话怎么都回去服务器取一次的),
    4。是否缓存就能提高一定的效率?命中率到底如何?


    no-cache语句块:
    <META http-equiv="Content-Script-Type" content="text/javascript">
    <META http-equiv="Content-Style-Type" content="text/css">
    <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store,must- revalidate,post-check=0,ptr-check=0">
    <META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
    <%
      response.setHeader("Pragma","no-cache");
      response.setHeader("Cache-Control","no-cache,no-store,must-revalidate,post-check=0,ptr-check=0");
      response.setHeader("Expires","-1");
    %>


    第一次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:

    GET /nocacheTest.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:49:23 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"
    Last-Modified: Sat, 28 Jun 2008 13:36:34 GMT
    Content-Type: image/bmp
    Content-Length: 1444854            //下载 该Jsp上的一个图片link 长度为1444854
    Date: Sat, 05 Jul 2008 12:49:23 GMT


    通过刷新,第二次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:
    GET /SpringRK/gzip.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //第二次访问仍然需要下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:57:53 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    If-Modified-Since: Sat, 28 Jun 2008 13:36:34 GMT
    If-None-Match: W/"1444854-1214660194000"
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 304 Not Modified
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"    //第二次访问不在下载图片
    Date: Sat, 05 Jul 2008 12:57:53 GMT
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-05 21:13:5228楼 得分:0
    引用 4 楼 java2000_net 的回复:
    1 图片你是怎么设置 no-cache的?好神奇啊!
    2 JSP等页面可以通过如下组合实现
    http://www.java2000.net/viewthread.jsp?tid=6495
    3 验证的方法,用Firefox + Firebug 监控 net里面的链接返回情况就知道了。



    那更糊涂了啊!
    JSP页面上,就算显示的写no-cache语句块.
    根据ieHTTPHeaders工具观察,发现访问的时候,静态的图片文件,JS文件,CSS文件仍然会缓存!
    也就是说,只用下载一次,除非删除否则都不用再次下载!是否这样说明no-cache对静态文件根本没用啊?
    而JSP文件无论写不写no-cache语句块,每次访问如果是刷新访问的话都需要重新下载.而且很奇怪的是
    我加上no-cache语句块,然后在浏览器上输入link1回车.然后再输入link2回车.然后在用浏览器上的back按钮
    从link2退回到link1.我理解我用了no-cache块在两个文件里,所以应该不会缓存,tomcat控制台应该输出
    我在link1和link2叶面上写的system.out可是却什么都没输出!
    我实在不知道到底怎么回事!

    1。到底使用了cache会缓存些什么?(现在测试发现起码no-cache对静态文件根本没用),
    2。在什么情况下会缓存?
    3。在什么情况下不会缓存(现在测试发现起码刷新的话怎么都回去服务器取一次的),
    4。是否缓存就能提高一定的效率?命中率到底如何?


    no-cache语句块:
    <META http-equiv="Content-Script-Type" content="text/javascript">
    <META http-equiv="Content-Style-Type" content="text/css">
    <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store,must- revalidate,post-check=0,ptr-check=0">
    <META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
    <%
      response.setHeader("Pragma","no-cache");
      response.setHeader("Cache-Control","no-cache,no-store,must-revalidate,post-check=0,ptr-check=0");
      response.setHeader("Expires","-1");
    %>


    第一次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:

    GET /nocacheTest.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:49:23 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"
    Last-Modified: Sat, 28 Jun 2008 13:36:34 GMT
    Content-Type: image/bmp
    Content-Length: 1444854            //下载 该Jsp上的一个图片link 长度为1444854
    Date: Sat, 05 Jul 2008 12:49:23 GMT


    通过刷新,第二次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:
    GET /SpringRK/gzip.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //第二次访问仍然需要下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:57:53 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    If-Modified-Since: Sat, 28 Jun 2008 13:36:34 GMT
    If-None-Match: W/"1444854-1214660194000"
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 304 Not Modified
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"    //第二次访问不在下载图片
    Date: Sat, 05 Jul 2008 12:57:53 GMT
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nil2000
    • 等级:
    发表于:2008-07-05 21:14:1029楼 得分:0
    引用 16 楼 nil2000 的回复:
    感激涕零阿



    那更糊涂了啊!
    JSP页面上,就算显示的写no-cache语句块.
    根据ieHTTPHeaders工具观察,发现访问的时候,静态的图片文件,JS文件,CSS文件仍然会缓存!
    也就是说,只用下载一次,除非删除否则都不用再次下载!是否这样说明no-cache对静态文件根本没用啊?
    而JSP文件无论写不写no-cache语句块,每次访问如果是刷新访问的话都需要重新下载.而且很奇怪的是
    我加上no-cache语句块,然后在浏览器上输入link1回车.然后再输入link2回车.然后在用浏览器上的back按钮
    从link2退回到link1.我理解我用了no-cache块在两个文件里,所以应该不会缓存,tomcat控制台应该输出
    我在link1和link2叶面上写的system.out可是却什么都没输出!
    我实在不知道到底怎么回事!

    1。到底使用了cache会缓存些什么?(现在测试发现起码no-cache对静态文件根本没用),
    2。在什么情况下会缓存?
    3。在什么情况下不会缓存(现在测试发现起码刷新的话怎么都回去服务器取一次的),
    4。是否缓存就能提高一定的效率?命中率到底如何?


    no-cache语句块:
    <META http-equiv="Content-Script-Type" content="text/javascript">
    <META http-equiv="Content-Style-Type" content="text/css">
    <META http-equiv="Pragma" content="no-cache">
    <META http-equiv="Cache-Control" content="no-cache,no-store,must- revalidate,post-check=0,ptr-check=0">
    <META http-equiv="Expires" content="Sun, 10 Jan 1990 01:01:01 GMT">
    <%
      response.setHeader("Pragma","no-cache");
      response.setHeader("Cache-Control","no-cache,no-store,must-revalidate,post-check=0,ptr-check=0");
      response.setHeader("Expires","-1");
    %>


    第一次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:

    GET /nocacheTest.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:49:23 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=C92C1AD74A7972C99D6175D2B07575AB

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"
    Last-Modified: Sat, 28 Jun 2008 13:36:34 GMT
    Content-Type: image/bmp
    Content-Length: 1444854            //下载 该Jsp上的一个图片link 长度为1444854
    Date: Sat, 05 Jul 2008 12:49:23 GMT


    通过刷新,第二次访问/nocacheTest.jsp页面ieHTTPHeaders返回结果:
    GET /SpringRK/gzip.jsp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 200 OK
    Server: Apache-Coyote/1.1
    Content-Encoding: gzip
    Content-Type: text/html;charset=GBK
    Content-Length: 198                      //第二次访问仍然需要下载Jsp文件长度为198
    Date: Sat, 05 Jul 2008 12:57:53 GMT

    GET /SpringRK/Tree.bmp HTTP/1.1
    Accept: */*
    Referer: http://localhost:8099/SpringRK/gzip.jsp
    Accept-Language: zh-cn
    Accept-Encoding: gzip, deflate
    If-Modified-Since: Sat, 28 Jun 2008 13:36:34 GMT
    If-None-Match: W/"1444854-1214660194000"
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
    Host: localhost:8099
    Connection: Keep-Alive
    Cookie: JSESSIONID=B921EEDF4D4C88C4D1FFA2C9D403C2C1

    HTTP/1.1 304 Not Modified
    Server: Apache-Coyote/1.1
    ETag: W/"1444854-1214660194000"    //第二次访问不在下载图片
    Date: Sat, 05 Jul 2008 12:57:53 GMT
    修改 删除 举报 引用 回复