HTTP 304: Not Modified,与服务器的缓存设置非常有关。

Last-Modified

这个头标是一个响应头标,表示客户端(通常指浏览器)所请求资源在服务器端的最后修改时间。通常情况下客户端在接受这个头标后,在以后对这个资源的请求会附带一个'If-Modified-Since'请求头标,而这个头标是想告诉服务器上次客户端所请求资源的最后修改时间。如下图中的 Last-Modified: Sat, 07 Mar 2009 13:28:57 GMT,这是一个HTML页面的来自服务器的response header信息。

我在《Firefox和IE的显示策略区别 - 解决前面Firefox的bug》中,提到了Firefox会先载入网页,再加载图片,Flash等。为了解决我的问题,我使用了setTimeout("myFunction",4000),延时以解决有时图片还没加载完成的问题。

但实际上,有时候如果图片比较少,4秒就显得太长了。有时候如果图片比较多,这4秒还不够!这可怎么办?Javascript又没这么智能。

于是,我就动脑筋动到以前body标签里的onLoad事件了。

我在Javascript中把setTimeout("myFunction",2000)改为document.onLoad=myFunction()。我的意思是,当页面完成onLoad这个事件后,就可以执行我的myFunction了。

前面在《Firefox有bug啊!!!》中,我提到了我有一个困惑:为何我的程序在Firefox不正常?但在IE下正常?

大家会看到我的博客里是时不时加点google广告的吧?没办法,想赚点小钱维持家用~

我的策略是:如果有图片尺寸大于150*60,则不显示广告,否则就插入广告。这个程序看起来设计得很完美,在IE下非常正常。但后来,我意外地发现Firefox下有时会失效,但奇怪的是,Firefox并不报错。这是怎么回事呢?

最近在研究gzip,需要研究http数据包,光看Firefox的debugger甚至是FireBug,是远远不够的。

在网上搜索了好久,发现有一个利器 - Fiddler。中文名叫啥呢?费德勒?哈哈,我随便说的。Fiddler能帮你查看HTTP STATUS/HTTP HEADER等,分析是否是gzip方式发送,甚至能手工编造HTTP请求,哈哈,你可以当HTTP黑客了,伪造数据,强行发送表单等。

微软的Fiddler是一个http调试代理,它能够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie / html / js /css等文件,这些都可以让你胡乱修改的意思)。 Fiddler 要比其他的网络调试器要更加简单,因为它仅仅是提供http通讯还有提供一个用户友好的格式。

Fiddler被主要用来查看单次请求或者响应的内容。别看功能虽小,但在使用ajax开发富网络功能的时候可是非常有用——对问题进行调试,或者弄清楚ajax通信的完整情形。

Tags: , , , , ,

前面在《浅谈网站的gzip输出优化》中,我介绍了gzip优化的好处,同时初步使用了gzip.php手工为javascript及css文件提供gzip压缩加速输出。

但当时的方法不好,有两个缺点:

1) 必须手工修改源文件,修改了index.php,element.php及插件中的很多js/css相关的文件里面的Javascript及css文件的载入路径,如,把src=xxx.js改为src=/gzip.php?url=/folder/js/xxx.js。不修改就没有gzip输出的功能。

2) 修改的路径必须是?url=/folder/等绝对引用的路径,相对路径不可以。这会导致文件中相关引用的失败(主要是指css文件中用url(xxx.gif))。所以当时模板文件中的css文件我本想用gzip输出,后来发现会导致css中的图片引用会失败,原因是经过gzip.php输出后,css文件的存在路径不是原路径,而是/gzip.php所在的根目录了。

这个话题适合满足以下两个条件的朋友:

1、平时爱用Firefox,偶尔用一下IE。
2、正使用FCKEditor代替Bo-blog其他的编辑器。

如果你满足上面的条件上,你可能会发现:当你复制一些文本文件的内容,paste到FCKEditor编辑器内时,会发现换行符全是以<br />标记出现的,而不是<p>...</p>。这样太乱了,而一行一行去改正却又太累。

分页: 8/23 第一页 上页 3 4 5 6 7 8 9 10 11 12 下页 最后页 [ 显示模式: 摘要 | 列表 ]