首页打开比较慢(不是网站第一次打开那种慢)

时间:2021-11-25 05:50:43
每次重新启动浏览器打开网站首页都比较慢,打开之后再刷新就比较快了。今天用火狐的Firebug监测了一下,发现onload用了7.87s,其中下面的几个url请求耗时很长:
其中一个:

http://我的网站/WebResource.axd?d=q2uw2nrQTPdlxxf7FsAbQw2&t=634117043756875000

请求头信息:
Host: ershou.hdt.net.cn
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729)
Accept: */*
Accept-Language: zh-cn,zh;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: 我的网站
Cookie: lzstat_uv=22063986363930158132|1085802; lzstat_ss=3373858293_12_1276267093_1085802

响应头信息:
Date: Fri, 11 Jun 2010 07:03:02 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Cache-Control: public
Expires: Sat, 11 Jun 2011 03:29:39 GMT
Last-Modified: Wed, 09 Jun 2010 10:19:35 GMT
Content-Type: application/x-javascript
Content-Length: 3005


还有:

http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8F45G1upMgr6wri77OpAGUc1&t=634088434781406250
http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8MJqklFArdzYYdX1BqRr2Nw1&t=634088434781406250
http://我的网站/WebResource.axd?d=a9PquLlQZA-0K7Pm5SXuGg2&t=634117043756875000
http://我的网站/ScriptResource.axd?d=DFz4F4i5O90XbssgF1MdjA0Iczlpve5c4Q6bAM9Bvs-UjpcwKp5ckYxTbpJp3vCSdzYn4DTuqeNlYR-7qILakA2&t=634117043756875000
http://我的网站/WebResource.axd?d=WZQDvwxkYyH4dD-DnYDUYQ2&t=634117043756875000


我不明白这几个url是做什么用的,我的网站下面没有WebResource这个文件夹啊?什么原因使得请求这么慢呢?

36 个解决方案

#1


没人过来看看吗?围观也可以

#2


围观 呵呵
是否频繁操作数据库了
信息量比较大可以生成静态的页面

#3


这几个是微软 的JS 

是不是执行什么很耗时的程序了

#4


数据库连接关闭了没有,数据库连接并发多少?HTML肯定会快的,要事慢就是图片大小的问题。

#5


文件的加载分为第一次,和第二次加载,  第一次比较慢的原因在于 在本地没有缓存,而直接从服务器连接
 第二次有本地缓存,所以较快

#6


http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8F45G1upMgr6wri77OpAGUc1&t=634088434781406250
http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8MJqklFArdzYYdX1BqRr2Nw1&t=634088434781406250
http://我的网站/WebResource.axd?d=a9PquLlQZA-0K7Pm5SXuGg2&t=634117043756875000
http://我的网站/ScriptResource.axd?d=DFz4F4i5O90XbssgF1MdjA0Iczlpve5c4Q6bAM9Bvs-UjpcwKp5ckYxTbpJp3vCSdzYn4DTuqeNlYR-7qILakA2&t=634117043756875000
http://我的网站/WebResource.axd?d=WZQDvwxkYyH4dD-DnYDUYQ2&t=634117043756875000
这是.net类库自带的

#7


缓存问题!

#8


.axd是asp.net中的虚拟文件
ASP.net 2.0 提供的新的资源管理方式产生的脚本。

你需要的js文件或图片等,都可以封装成Web Resources
,然后用这种url方式来请求.这种请求有时效性

转:
ASP.NET 2.0提供的Web Resources管理模型,很好的解决了image、css、script等外部资源的管理问题。现在只需要在solution explorer把资源文件的build action属性设为Embedded Resource。然后在assemblyinfo.cs里添加一句: 
[assembly: WebResource("WebCtrl.cutecat.jpg", "image/jpg")]     我们可以看msdn里有WebResource的参数说明:第一个是资源的名字,第二个是资源的mime-type名。 
    其实这个语句放任何cs文件里,保证放在*namespace外就行。 

    然后在程序中调用如下: 
m_Image.ImageUrl = this.Page.GetWebResourceUrl(typeof(WebCustom), "WebCtrl.cutecat.jpg");     GetWebResourceUrl的第一个参数是用户定义的类型(这个是用来确定assembly用的),第二个参数是资源名。 

    上面的语句返回给browser的代码是: 
<img src="WebResource.axd?a=pWebCtrl&amp;r=WebCtrl.cutecat.jpg&amp;t=632390947985312500" style="border-width:0px;" />     其中的src就是GetWebesourceUrl执行后返回的,它有3个参数(这里的&被解析成了&amp;,不过IIS也认的),第一个参数a是就是通过typeof(WebCustom)来确定的assembly的名字,第二个参数r很明显就是资源的名字了,第三个参数t是一个a所指的assembly的timestamp。这个t是为了让资源的引用能享用browser缓存的优化,因为IE对相同的url有自己的cache机制。又因为这个r同时又是用户assembly文件的timestamp,如果用户更新了代码,重新编译后t也会变化,这样也就保证了browser能获得最新的资源更新。如果我们能确定嵌入资源是确实不用再更新的,我们可以在typeof()里写一个bcl里的类型,比如typeof(string),那么他将只在freamwork升级后才会变动这个t。 

    当然这个WebResource.axd是不存在的,它只是IIS中的一个ISAPI影射。 

#9


引用 2 楼 ihandler 的回复:
围观 呵呵
是否频繁操作数据库了
信息量比较大可以生成静态的页面


也不算频繁吧

首页显示公告、热门信息、出售信息、求购信息,也没什么了。
链接数据库后我都及时释放了资源

#10


引用 4 楼 wosizy 的回复:
数据库连接关闭了没有,数据库连接并发多少?HTML肯定会快的,要事慢就是图片大小的问题。


及时关闭了 如果没有及时关闭 会报错吧?

怎么看数据库连接并发?

#11


能再详细解释解释我这个问题吗?
引用 8 楼 newdigitime 的回复:
.axd是asp.net中的虚拟文件
ASP.net 2.0 提供的新的资源管理方式产生的脚本。

你需要的js文件或图片等,都可以封装成Web Resources
,然后用这种url方式来请求.这种请求有时效性

#12


那些文件一般是用了asp.net 的ajax控件后出现的,你试试gzip压缩

#13


就LZ的问题,我提供两个种静态解决方案:
1。在网站更新后手动生成一个首页的静态页面,实现思路是读取解析后的页面,并把文件流保存为index.html即可。
2、写一个控制台程序,或者桌面程序,定时(5分钟?视更新频率而定)生成静态文件,(思路同上)速度可以提高很多。

以上两种情况LZ视自己情况而定吧。。。
 WebClient wc = new WebClient();

通过这个方法可以实现上面的解决方案

#14


引用 11 楼 coverallwangp 的回复:
能再详细解释解释我这个问题吗?

js以及图片,在第一次下载后会保存在IE的临时文件夹里,下次刷新时,IE会直接从浏览器缓存中读取,不必
再从服务器下载了.所以会比较快.
在几年前,人们给网站加速时,把javascript往往写成js,多个网页都引用同一个js时,就可以利用这种加速效率.

#15


学习中………………

#16


引用 12 楼 jiankeqcaf 的回复:
那些文件一般是用了asp.net 的ajax控件后出现的,你试试gzip压缩


对,我是用了ajax控件,能详细说说怎么gzip压缩吗?

#17


围观!!!

#18


参考这一个进行了压缩
http://blog.csdn.net/yuanjin1981/archive/2010/04/07/5458200.aspx

IE浏览速度加快了很多,但Firefox却变得很慢,好像加载上面的几个链接非常慢,同时Menu菜单显示出错
Menu_HoverStatic is not defined

啥原因?大家都来交流交流,共同进步嘛

#19


这个方法不行,别人好像都打不开页面

#20


路过,帮顶!

#21


首页打开比较慢(不是网站第一次打开那种慢)

#22


围观。。。

#23


帮顶,7秒确实比较慢!

#24


flash和图片不要太多
数据库操作也不要频繁
其他的...其他高手回答

#25


参考这一个进行了压缩
http://blog.csdn.net/yuanjin1981/archive/2010/04/07/5458200.aspx

CompressionModule压缩模块,同时修改web.config。
如果我不给网站绑定域名,通过IP访问一切ok。
一旦绑定域名,网页就会出现很多问题。IE和Firefox都有问题。

原因何在?高手都来看看

#26


首页打开比较慢(不是网站第一次打开那种慢)

独自等待...

#27


为什么你只考虑压缩呢?其他方法可以试试的,比如说 静态化

#28


引用 27 楼 mm6268 的回复:
为什么你只考虑压缩呢?其他方法可以试试的,比如说静态化


我不是太了解如何静态化,能给点参考资料吗?我想找一个相对简单一点的方法,并且确实能起到效果。

谢谢

#29


看到我之前给你的回复了吗?

#30


WebClient wc = new WebClient();
                string url = string.Format(@"http://www.baidu.com");
                Stream s = wc.OpenRead(url);
                System.Text.Encoding ec = Encoding.GetEncoding(936);
                StreamReader sr = new StreamReader(s, ec);
                string line;
                while ((line = sr.ReadLine()) != null)
                {

                    lstDaima.Items.Add(line);
                }

参考这段代码吧,

#31


引用 29 楼 mm6268 的回复:
看到我之前给你的回复了吗?

看了 坦白地讲 不是太明白 
什么叫解析后的文件

#32


http://blog.csdn.net/zwwwxy/archive/2005/10/06/496153.aspx

#33


解析后的文件就等于是你打开一个页面,然后右键,查看源文件,
目的就是把你所看到的源文件保存下来,这样就可以了

#34


引用 33 楼 mm6268 的回复:
解析后的文件就等于是你打开一个页面,然后右键,查看源文件,
目的就是把你所看到的源文件保存下来,这样就可以了


不好意思,那篇博客没有具体方法

#35


换了新的服务器 速度快多了  首页打开比较慢(不是网站第一次打开那种慢)

#36


顶。。。

#1


没人过来看看吗?围观也可以

#2


围观 呵呵
是否频繁操作数据库了
信息量比较大可以生成静态的页面

#3


这几个是微软 的JS 

是不是执行什么很耗时的程序了

#4


数据库连接关闭了没有,数据库连接并发多少?HTML肯定会快的,要事慢就是图片大小的问题。

#5


文件的加载分为第一次,和第二次加载,  第一次比较慢的原因在于 在本地没有缓存,而直接从服务器连接
 第二次有本地缓存,所以较快

#6


http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8F45G1upMgr6wri77OpAGUc1&t=634088434781406250
http://我的网站/ScriptResource.axd?d=UV-Yoi-WrKyJiJpWeegh2GL6WwhLE6G2PTROnCOR-I-hYEMnJESXgcb_n1p2BbW6DxBel2A6mutCHmoO6oSO8MJqklFArdzYYdX1BqRr2Nw1&t=634088434781406250
http://我的网站/WebResource.axd?d=a9PquLlQZA-0K7Pm5SXuGg2&t=634117043756875000
http://我的网站/ScriptResource.axd?d=DFz4F4i5O90XbssgF1MdjA0Iczlpve5c4Q6bAM9Bvs-UjpcwKp5ckYxTbpJp3vCSdzYn4DTuqeNlYR-7qILakA2&t=634117043756875000
http://我的网站/WebResource.axd?d=WZQDvwxkYyH4dD-DnYDUYQ2&t=634117043756875000
这是.net类库自带的

#7


缓存问题!

#8


.axd是asp.net中的虚拟文件
ASP.net 2.0 提供的新的资源管理方式产生的脚本。

你需要的js文件或图片等,都可以封装成Web Resources
,然后用这种url方式来请求.这种请求有时效性

转:
ASP.NET 2.0提供的Web Resources管理模型,很好的解决了image、css、script等外部资源的管理问题。现在只需要在solution explorer把资源文件的build action属性设为Embedded Resource。然后在assemblyinfo.cs里添加一句: 
[assembly: WebResource("WebCtrl.cutecat.jpg", "image/jpg")]     我们可以看msdn里有WebResource的参数说明:第一个是资源的名字,第二个是资源的mime-type名。 
    其实这个语句放任何cs文件里,保证放在*namespace外就行。 

    然后在程序中调用如下: 
m_Image.ImageUrl = this.Page.GetWebResourceUrl(typeof(WebCustom), "WebCtrl.cutecat.jpg");     GetWebResourceUrl的第一个参数是用户定义的类型(这个是用来确定assembly用的),第二个参数是资源名。 

    上面的语句返回给browser的代码是: 
<img src="WebResource.axd?a=pWebCtrl&amp;r=WebCtrl.cutecat.jpg&amp;t=632390947985312500" style="border-width:0px;" />     其中的src就是GetWebesourceUrl执行后返回的,它有3个参数(这里的&被解析成了&amp;,不过IIS也认的),第一个参数a是就是通过typeof(WebCustom)来确定的assembly的名字,第二个参数r很明显就是资源的名字了,第三个参数t是一个a所指的assembly的timestamp。这个t是为了让资源的引用能享用browser缓存的优化,因为IE对相同的url有自己的cache机制。又因为这个r同时又是用户assembly文件的timestamp,如果用户更新了代码,重新编译后t也会变化,这样也就保证了browser能获得最新的资源更新。如果我们能确定嵌入资源是确实不用再更新的,我们可以在typeof()里写一个bcl里的类型,比如typeof(string),那么他将只在freamwork升级后才会变动这个t。 

    当然这个WebResource.axd是不存在的,它只是IIS中的一个ISAPI影射。 

#9


引用 2 楼 ihandler 的回复:
围观 呵呵
是否频繁操作数据库了
信息量比较大可以生成静态的页面


也不算频繁吧

首页显示公告、热门信息、出售信息、求购信息,也没什么了。
链接数据库后我都及时释放了资源

#10


引用 4 楼 wosizy 的回复:
数据库连接关闭了没有,数据库连接并发多少?HTML肯定会快的,要事慢就是图片大小的问题。


及时关闭了 如果没有及时关闭 会报错吧?

怎么看数据库连接并发?

#11


能再详细解释解释我这个问题吗?
引用 8 楼 newdigitime 的回复:
.axd是asp.net中的虚拟文件
ASP.net 2.0 提供的新的资源管理方式产生的脚本。

你需要的js文件或图片等,都可以封装成Web Resources
,然后用这种url方式来请求.这种请求有时效性

#12


那些文件一般是用了asp.net 的ajax控件后出现的,你试试gzip压缩

#13


就LZ的问题,我提供两个种静态解决方案:
1。在网站更新后手动生成一个首页的静态页面,实现思路是读取解析后的页面,并把文件流保存为index.html即可。
2、写一个控制台程序,或者桌面程序,定时(5分钟?视更新频率而定)生成静态文件,(思路同上)速度可以提高很多。

以上两种情况LZ视自己情况而定吧。。。
 WebClient wc = new WebClient();

通过这个方法可以实现上面的解决方案

#14


引用 11 楼 coverallwangp 的回复:
能再详细解释解释我这个问题吗?

js以及图片,在第一次下载后会保存在IE的临时文件夹里,下次刷新时,IE会直接从浏览器缓存中读取,不必
再从服务器下载了.所以会比较快.
在几年前,人们给网站加速时,把javascript往往写成js,多个网页都引用同一个js时,就可以利用这种加速效率.

#15


学习中………………

#16


引用 12 楼 jiankeqcaf 的回复:
那些文件一般是用了asp.net 的ajax控件后出现的,你试试gzip压缩


对,我是用了ajax控件,能详细说说怎么gzip压缩吗?

#17


围观!!!

#18


参考这一个进行了压缩
http://blog.csdn.net/yuanjin1981/archive/2010/04/07/5458200.aspx

IE浏览速度加快了很多,但Firefox却变得很慢,好像加载上面的几个链接非常慢,同时Menu菜单显示出错
Menu_HoverStatic is not defined

啥原因?大家都来交流交流,共同进步嘛

#19


这个方法不行,别人好像都打不开页面

#20


路过,帮顶!

#21


首页打开比较慢(不是网站第一次打开那种慢)

#22


围观。。。

#23


帮顶,7秒确实比较慢!

#24


flash和图片不要太多
数据库操作也不要频繁
其他的...其他高手回答

#25


参考这一个进行了压缩
http://blog.csdn.net/yuanjin1981/archive/2010/04/07/5458200.aspx

CompressionModule压缩模块,同时修改web.config。
如果我不给网站绑定域名,通过IP访问一切ok。
一旦绑定域名,网页就会出现很多问题。IE和Firefox都有问题。

原因何在?高手都来看看

#26


首页打开比较慢(不是网站第一次打开那种慢)

独自等待...

#27


为什么你只考虑压缩呢?其他方法可以试试的,比如说 静态化

#28


引用 27 楼 mm6268 的回复:
为什么你只考虑压缩呢?其他方法可以试试的,比如说静态化


我不是太了解如何静态化,能给点参考资料吗?我想找一个相对简单一点的方法,并且确实能起到效果。

谢谢

#29


看到我之前给你的回复了吗?

#30


WebClient wc = new WebClient();
                string url = string.Format(@"http://www.baidu.com");
                Stream s = wc.OpenRead(url);
                System.Text.Encoding ec = Encoding.GetEncoding(936);
                StreamReader sr = new StreamReader(s, ec);
                string line;
                while ((line = sr.ReadLine()) != null)
                {

                    lstDaima.Items.Add(line);
                }

参考这段代码吧,

#31


引用 29 楼 mm6268 的回复:
看到我之前给你的回复了吗?

看了 坦白地讲 不是太明白 
什么叫解析后的文件

#32


http://blog.csdn.net/zwwwxy/archive/2005/10/06/496153.aspx

#33


解析后的文件就等于是你打开一个页面,然后右键,查看源文件,
目的就是把你所看到的源文件保存下来,这样就可以了

#34


引用 33 楼 mm6268 的回复:
解析后的文件就等于是你打开一个页面,然后右键,查看源文件,
目的就是把你所看到的源文件保存下来,这样就可以了


不好意思,那篇博客没有具体方法

#35


换了新的服务器 速度快多了  首页打开比较慢(不是网站第一次打开那种慢)

#36


顶。。。