- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为 Firefox 6 使用 LiveHttpHeaders
我试图查看我的 css、JS 文件是否使用来自 Apache 的 Headers 模块使用 htaccess 进行缓存。但我很困惑,'Cache-Control' 数据中有 2 个值:
GET /proz/css/global.css HTTP/1.1Host: localhostUser-Agent: Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0Accept: text/css,*/*;q=0.1Accept-Language: en-us,en;q=0.5Accept-Encoding: gzip, deflateAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7Connection: keep-aliveReferer: http://localhost/proz/Cookie: PHPSESSID=el34de37pe3bnp4rdtbst1kd43If-Modified-Since: Fri, 16 Sep 2011 21:15:32 GMTIf-None-Match: "400000000b06a-2999-4ad157e5b4583"Cache-Control: max-age=0HTTP/1.1 304 Not ModifiedDate: Sat, 17 Sep 2011 03:04:50 GMTServer: Apache/2.2.17 (Win32) PHP/5.2.8Connection: Keep-AliveKeep-Alive: timeout=5, max=99Etag: "400000000b06a-2999-4ad157e5b4583"Cache-Control: max-age=604800, publicVary: Accept-Encoding
哪个才是真正的数据,第一个Cache-Control数据(max-age=0)还是后一个。
我还想知道在 htaccess 中使用 deflate 模块后如何确保我的 JS、CSS、HTML 文件被压缩。是的,headers 和 deflate 模块都已打开。
最佳答案
这个 list 有两部分:
客户端(您的浏览器)发送的 Cache-Control: max-age=0
告诉服务器(或中间的任何代理)发送文件的最新版本。浏览器通常会在您点击刷新 按钮时发送此信息。
服务器发送的 Cache-Control: max-age=604800, public
告诉客户端(您的浏览器或代理)该文件的有效期为 604800 秒,可以为此缓存时间。 (浏览器甚至不会尝试询问服务器是否存在更新版本,除非您点击刷新,就像您在本例中所做的那样。)
服务器回复了304 Not Modified
,这说明你的浏览器已经是最新版本了,不需要重新下载(它没有重新下载)。
Vary:Accept-Encoding
header 表明服务器根据客户端的Accent-Encoding
header 做出了一些决定。这可能表明,如果服务器没有回复 304 Not Modified
,它就会压缩文件。
要验证最后一点,清除缓存,再次请求文件,并查看 Content-Encoding
header 的内容(如果数据被压缩,则必须是 gzip 或 deflate)。
关于http - LiveHttpHeaders : which cache-control info is right,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7454690/
以下代码中的 alert(`${info} : ${pokemondetails[info]}\n`) 的含义是什么?有人可以用更简单的形式向我解释一下吗? let checkname = funct
C-x C-f blah.info 以基本模式打开文件。我使用了 apropos 并发现了 Info-mode,我认为它可能会从基本模式更改为 Info 模式,但这会引发 lisp 错误。 如何在 e
我想在另一个 Info.plist 键 (NSContactsUsageDescription) 的值中使用“Bundle 显示名称”(CFBundleDisplayName) 的值。 我尝试了以下方
我正在使用 Python 3.6.4。我第一次遇到 logger.setLevel(logging.INFO) 被忽略的问题,然后遇到了 this answer ,这让我感到困惑并引发了这个问题。 鉴
我是python新手 如果 logging.info() 足以进行日志记录,为什么我们必须使用 getLogger() 方法实例化一个记录器? 最佳答案 在没有名称的情况下调用 getLogger()
下面是来自源代码的示例代码:https://docs.python.org/3/howto/logging.html import logging logging.basicConfig(filena
我在网上阅读的所有内容都在谈论 Info.plist。当我创建项目时,XCode 为我创建了一个 [应用程序名称]-Info.plist 文件,它似乎与我在网上看到的示例 Info.plist 具有相
我定义了一个记录器实例如下: private static final Logger LOGGER = Logger.getLogger(Main.class.getName()); 我有一个要记录的
我的应用程序因 Info.plist 文件中缺少用途字符串而被拒绝(特别是对于 NSMicrophoneUsageDescription 用法)。 这取决于 react-native-permissi
我正在 Windows 下使用 Python 3.4.2。就我而言, import logging logger = logging.getLogger('logger') logger.setLev
我的背景主要是使用 C 和 C++ 进行 Windows 编程。最近我也有机会使用一些嵌入式 Linux 系统,但我对此还是个新手。 现在我正在为 Openwrt 开发一个实用程序,它需要对正常操作期
所以我只是按照此处所述运行了 INFO 命令 http://redis.io/commands/info 但它只给我默认部分——比如 cpu 信息和其他 当我尝试添加 [section] 参数时 -
我正在尝试了解 QEMU 内存管理(使用 i386 guest ,没有 KVM)。 QEMU 监视器允许列出 CPU 寄存器信息( info registers )、USB 设备( info usb
我的包中有 package-info.java,Hibernate 需要它来实现某些功能(编程实体扫描)。 但是,mvn package 不会导致 package-info.class 在 class
我遇到了似乎很常见的错误,因为 Xcode 似乎找不到我的“Info.plist”文件。 我已经检查了这两个 StackOverflow 问题的答案( Could not read from Info
我一直在尝试阅读 XEP-0030 Service Discovery但发现该语言非常不透明。 我的问题很简单:disco#info 规范和 disco#items 规范有什么区别? 我的猜测是 di
这个问题已经有答案了: String concatenation performance in Log4j (3 个回答) 已关闭 4 年前。 之前我通常使用log.info(“dsasdds ” +
我从 Erlang 文档中看到 supervisor:start_child 可以返回两个不同的非错误结果:{ok, Child} 和 {ok, Child, Info}。这个信息在哪里设置? sim
我使用的是 Crystal 0.25.0,File.info(string).symlink? 在以下示例中应返回 true 时返回 false: `mkdir -p /tmp/delete` Di
对于属性: Persist Security Info=true 和 Persist Security Info=false 你能告诉我它们之间有什么区别吗,如果我不把它放在我的连接中会发生什么? c
我是一名优秀的程序员,十分优秀!