离线调试

1. 通过标准的HTTP语义,你的浏览器将会检测缓存名单是否已经过期。就像任何其他由HTTP服务的文件,你的网络服务器将会包含典型的关于此文件在HTTP响应头中的元信息。这些HTTP头中的一些(Expires和Cache-Control)将告诉你的浏览器如何允许缓存文件而不询问服务器此文件是否已更改。此种类型的缓存和离线网络应用程序没有任何关系。它发生在几乎每个HTML页面,样式表,图片或者其他网络资源。
2. 如果缓存名单已过期(根据它的HTTP头),那么你的浏览器将会询问服务器是否有新版本,如果有,浏览器将会下载它。要做到这一点,你的浏览器产生一个包含此缓存名单last-modified数据的HTTP请求,你的网络服务器将浏览器下载名单文件的最后时间包含在HTTP响应头中。如果网络服务器判断从那个时间之后没有被更改,它将简单的返回一个304(未改变)状态。同样的,这不是离线网络应用程序所特有的。它发生于实质上每种类型的网络资源。
3. 如果网络服务器认为名单文件在那个时间之后有被更改,它将返回一个200(OK)HTTP状态码,后面是新文件的内容和新的Cache-Control头,以及一个新的last-modified时间,因此,第1步和第2步将可能在下次发生。(HTTP非常酷,网络服务器总是为将来做打算。如果你的网络服务器绝对需要给你传送一个文件,他尽所有可能确认他不需要无故传送第二次。)一旦下载了新的缓存名单文件,你的浏览器将根据它上次下载的副本检测内容。如果缓存名单文件的内容跟上次的一样,你的浏览器将不会重新下载此名单中列出的任何资源。

时间: 2024-11-03 20:53:50

离线调试的相关文章

Linux内核调试的方式以及工具集锦

CSDN GitHub Linux内核调试的方式以及工具集锦 LDD-LinuxDeviceDrivers/study/debug 本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作 因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 也欢迎大家提供一些其他好的调试工具以供收录, 鄙人在此谢谢啦 "调试难度本来就是写代码的两倍. 因此, 如果你写代码的时候聪明用尽, 根据定义, 你就没有能耐去调试它了.&qu

[Debug]用gdb分析coredump文件

1,系统默认是不产生coredump文件的,需要用以下命令使系统产生coredump文件 查看core文件的限制,此时为0,即不成生core文件 ulimit -c 0 打开core文件的限制,不限制core文件的大小,使程序可以产生core文件 ulimit -c unlimited ulimit -c unlimited 2,以下是内存访问错误示例 [cpp] view plaincopy 1 #include<stdio.h> 2 int main() 3 { 4      char* 

大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等

红色字体是现阶段比较火的 ---------------------------------------------------------------------------------------------------------------- 奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQ

阿里,百度,腾讯,360,新浪,网易,小米等开源项目

奇虎360 https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360,  Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性.目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条. 主要功能:* 读写分离* 从库负载均衡* IP过滤*

开发人员与测试人员的那些事

关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多.而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同.显然,这不利于实现两者合作的目标——向用户提供价值.(推荐学习零基础学习软件测试基础篇) 下面我们来分析一下其中的原因: 史前时期 在最开始,不存在测试人员, 只有开发人员.软件开发人员和软件项目的其他人员比起来并没有特别大的不同.从经济角度考虑,专门成立测试人员是行不通的:开发软件的时间如此昂贵,为测试人员分配时间显得很浪费. 没有专门人员检查工作,软件开发人

使用 addr2line 工具解析backtrace

Coredump 是分析Android native exception 和 kernel exception的利器,coredump中文名是核心转储,大概可以理解为当系统或者某个进程发生异常无法挽救时,系统机制把这块出问题的内存取出来打包成核心转储供给系统异常工程师离线分析用.有了coredump不但可以定位具体出异常的代码所在文件行数,还可以离线调试,一步步还原问题现场,抓出导致异常真凶. 但是很多时候由于系统挂得太突然或者某些原因来不及打包coredump,导致无法获取到核心转储,只留下一

中国开源项目哪家强?看看阿里,百度,腾讯,360等都开...

奇虎360 开源github地址:https://github.com/Qihoo360 1.MySQL中间层 Atlas Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目.它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基础上,修改了大量bug,添加了很多功能特性.目前该项目在360公司内部得到了广泛应用,很多MySQL业务已经接入了Atlas平台,每天承载的读写请求数达几十亿条. 主要功能:* 读写分离* 从库负载

Xcode5.1离线下载安装及使用iOS5模拟器进行开发调试的方法

Xcode5.1默认不支持iOS5版本的模拟器开发调试,在OS X Mavericks(10.9.x)下默认只能支持iOS6.1及以上版本的模拟器,在OS X Mountain Lion(10.8.x)下默认只能支持iOS6.0及以上版本的模拟器进行开发和调试,在此条件之下的版本只能使用硬件设备进行开发调试.虽然现在低版本的iOS设备越来越少了,但是有时客户的需求可能会要求我们一定要兼容iOS5(或更低版本)及以上版本,如果我们手头找不到低版本硬件设备用于调试或者完全使用硬件设备而没有对应的模拟

离线下载Windows 调试符号 Symbols

公司开发机没有不能连接到互联网.调试程序时那些Windows模块(如ntdll.dll)不能加载符号,而程序总是崩在这些模块里.想看一眼到底崩在了什么地方. 需要把对应的符号下载下来. 使用工具symchk: /om /im 参考: https://msdn.microsoft.com/en-us/library/windows/hardware/ff560061(v=vs.85).aspx