• HTTP 返回的状态码 != 200 ,浏览器不会将返回的内容缓存到本地磁盘上


    今天无意发现的,以前处理HTTP State = 404或403之类的,都是直接返回 HTTP 200 OK,然后加一个缓存设置,例如: Cache-Control: max-age=3600

    最近修改为 404 错误就直接返回 HTTP 404 Not Found, 缓存没变,还是 Cache-Control: max-age=3600,但我在IE的临时文件夹查看文件缓存时发现IE对返回的HTTP状态码:404或403不进行内容缓存到磁盘。

    Firefox对返回的HTTP状态码:404或403,通过about:cache查看缓存时发现:

    缓存的到期时间:1970年,也就是不会将返回的内容缓存到磁盘上。

    在进行一些带宽优化的时候,需要注意一下。

    如果经常会返回404或403之类的,但又为了节省带宽资源,希望浏览器缓存的话,可以有两种选择:

    1. 返回的状态码强制设置为202,同时加上Cache-Control: max-age=xxx,这样浏览器就会将返回的内容保存到磁盘上。

    2. 在返回404之类的状态码的同时加上一个Location: 指令,跳转到另一个比如404.html页面,同时对这个页面进行缓存,这样虽然多了一道跳转,但也有可能会节省一定的带宽资源。

    2012-07-21

  • 相关阅读:
    什么叫套接字
    浅谈labviEW定时器
    C#线程篇---Task(任务)和线程池不得不说的秘密
    async与await详解
    异步编程与多线程的联系与区别
    什么是Task
    MVC模式的介绍(C#)
    Git指令
    Redis安装部署、Jedis的使用
    Oracle——序列、索引、同义词
  • 原文地址:https://www.cnblogs.com/personnel/p/4583302.html
Copyright © 2020-2023  润新知