再问下,我的页面是php页面,用header函数输出头部信息并指定客户端缓存,有如下问题
我断开网络链接,再输入网页地址,发现打开的速度很慢,但打开hao123的速度挺快的!
我接上网络连接,再输入网页地址,发现打开的速度很快,
请问,按理说网页已经缓存到客户端了,应该打开的速度很快的呀!!可为什么很慢呢??
为什么hao123再断开网络链接的情况下,打开的速度仍然很快呢,难道是因为我的是php页面,他的是html页面
谢谢了!!
我断开网络链接,再输入网页地址,发现打开的速度很慢,但打开hao123的速度挺快的!
我接上网络连接,再输入网页地址,发现打开的速度很快,
请问,按理说网页已经缓存到客户端了,应该打开的速度很快的呀!!可为什么很慢呢??
为什么hao123再断开网络链接的情况下,打开的速度仍然很快呢,难道是因为我的是php页面,他的是html页面
谢谢了!!
{
var image=new Image();
image.src=ImgD.src; //一下几行有点看不懂
if(image.width>760) //如果image宽大于760
{
ImgD.height=(image.height*760)/image.width; // 这里好像不对,按image的宽高比*760,image默认宽高多说没说,可以alert看看
ImgD.width=760; //设置宽为760
} else {
ImgD.width=image.width;
ImgD.height=image.height;
}
}
---------这个是调整某一img对象宽高,如果大于760,重新调整,否则,设为image的宽高,image对象的默认可能和浏览器有关
---------------------------------------------
你可以打开一个hao123 的;输出图片的程序文件(如PHP输出的),看看文件头就知道了,用firebug
可以删除缓存,重新打开那个图片页,看一下就知道了是输出缓存控制的问题,没有缓存,是你设的不对
$url = 'http://www.example.com';print_r(get_headers($url));print_r(get_headers($url, 1));
?> $url换成hao123的图片url看看
!!!倒是你的 header('Last-Modified: '.gmdate('D, d M Y H:i:s',$time).' GMT');
这句,指定了最后修改是早于当前时间,这样设置就和你想要缓存有点矛盾了,
不过即使这样图片也应该会缓存的啊你还是用Firebug仔细看一下再说吧,或者你把你的URL放出来
hao123的图片显示确实缓存了
如下是他的图片头部信息:
Date Wed, 24 Dec 2008 04:08:19 GMT
Server Apache/2.2.4 (Unix) PHP/5.1.4
Connection close
Etag "5e800b-403-44dc7b8bbf900"
Expires Sat, 22 Dec 2018 04:08:19 GMT
Cache-Control max-age=315360000如下是sinhii。com的图片的头部信息
Last-Modified Tue, 09 Dec 2008 12:05:48 GMT
Accept-Ranges bytes
Etag "5c16d79f659c91:8fce"
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
Date Wed, 24 Dec 2008 04:09:37 GMT我的图片显示确实没有缓存,那我该怎么做到让图片和js css文件的缓存呢???难道是因为我的页面是用php页面,用了header函数输出头部信息??一定要静态页面才可以实现图片和js css文件的缓存吗???、
网高手指点!!
.htaccess 文件2.
自己用php输出档案,在输出时加header3.
由客户端自动缓存
$time2 = mktime(date('H')+8,date('i'),date('s')+86400,date('m'),date('d'),date('Y'));
header('Cache-Control: max-age=604800');
header('Expires: '.gmdate('D, d M Y H:i:s',$time2).' GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s',$time).' GMT'); .htaccess文件的配置,我用的虚拟主机,不知道怎样配置!
还是存在?
有这句当然每次都会重新请求了,你把这句去掉或者改了
$time2 = mktime(date('H')+8,date('i'),date('s')+86400,date('m'),date('d'),date('Y'));
header('Cache-Control: max-age=604800');
header('Expires: '.gmdate('D, d M Y H:i:s',$time2).' GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s',$time).' GMT');
这些都不要试试看,一般浏览器会自动缓存的。
动Etag的话,虚拟主机可能无解。主机支持.htaccess否,支持mod_expire否?