2012-07-14 58 views
0

我正在使用服务生成代码,并从外部服务获取响应。我经常一次获得30+。是否对外部http请求有害?

我也在使用一个图标服务来获取图标。该图标服务允许前缀的域名与任意数量绕过浏览器的连接数限制(如http://2245.example.com/?url=example.net

在总我的网站可以使50-100请求向上,但其中15个是从我的服务器 我用yslow并为此得到了一个大胖子F.这些请求是否被阻止?我可以生成30或更多的单页加载,虽然它似乎加载罚款测试...我的实际页面上的一切立即加载,我用css3和jquery淡入淡出动画

+0

请求是在页面完全加载后异步启动的吗? – jdi 2012-07-14 23:38:58

+0

im不知道。他们是一个指向外部网站的图片标签。我确实有2个外部脚本,这些脚本是针对ajax-google-jquery和google-fonts的 – Tallboy 2012-07-14 23:40:00

+0

然后是的,你会得到糟糕的yslow等级。您有许多外部图像链接到非静态媒体。他们正在加载您的正常页面加载。也许yslow认为他们没有很好地缓存。 – jdi 2012-07-14 23:42:05

回答

0

有一个最大值在大多数浏览器中有4-6个并发请求,所以其他人会被延迟是,但这取决于他们是否阻止了他们。

你应该避免它 - 如果这是你的服务的一部分,可以考虑通过Ajax调用加载你的服务器在客户端上的大量数据,这样你也可以缓存结果以避免这么多的异地请求。

如果您可以显示页面以获得更全面的建议,那么代码是什么?他们改变了吗?你能从你的服务器而不是客户端做到吗?

+0

他们都是图片标签。我确实有两个脚本可以从谷歌加载jquery,还有一个来自谷歌的@ font-face文件,但除了这两个脚本之外,还有所有图像。一旦我部署了应用程序,我一直在考虑使用反向代理,但说实话,我真的很喜欢图像的“有机”加载外观,因为它们在准备就绪时都会褪色,一个'错误',现在它的一个功能:)它看起来非常酷,像,而不是让他们一下子全部褪色 – Tallboy 2012-07-14 23:41:12

+0

他们是用户图像还是他们可以被萌芽?在化身等方面,有时无法避免大量外部资源 - 您可以通过将它们分布在多个子域中来增加页面得分,因为它会增加可以同时加载的量,您可以设置更积极的缓存,还有每次请求都不需要传输会话cookie。 – Martin 2012-07-14 23:56:10

+0

他们是网站的缩略图,所以他们不能萌芽。它的url2png.com – Tallboy 2012-07-15 00:14:43

0

浏览器有一个管道,其中同时执行有限数量的请求,所以如果您的网页正在加载50-100 +图像,将会出现瓶颈。

解决此问题的最佳方法是将图像内容作为精灵提供。这包括:

  • 让您的服务器代表网页获取图像。
  • 在服务器端创建相应的精灵。
  • 从您的服务器向服务器发送spr图像以及精灵解码参考点到网页。