间歇性 JavaScript 下载问题

3

我之前花了很长时间来解决一个奇怪的间歇性问题,但最终放弃了。现在想再试一下。

我使用FUELCms构建了一个网站,非常满意。但是有时候并不是所有的javascript请求都能得到充分的满足。我在firebug控制台中会出现错误,并且必须用ctrl F5刷新页面才能正确下载脚本。这仅在我登录CMS时发生,并且有很多javascript请求正在进行。

我在控制台中得到的错误与此无关且难以复制。每次可能是不同的错误。

请求完成后返回0200,但是当我查看导致js错误的文件时,它已经损坏了。奇怪的是,有时其他js的部分附加到文件末尾或文件中间。

我和FUELcms的管理员花了一些时间,以为我已经找到了问题所在,但我认为我错了。没有人使用FUELcms似乎会遇到这种情况。

这只发生在我的线上服务器上,而不是我的笔记本电脑上的xampp服务器。

这是我的主机出了问题吗?

困惑不解。任何帮助或建议将不胜感激,我已经到了疯狂的边缘!

编辑:根据下面Dan的建议,这里提供一些服务器详细信息。我对服务器方面几乎一无所知,所以不确定哪些是相关的。如果信息过多,请见谅。

Apache version  2.2.17
PHP version     5.2.17
Architecture    x86_64
Operating system    linux
Kernel version  2.6.18-194.32.1.el5

进一步说明:使用FuelCMS内联编辑时,CMS会发出大量的javascript http请求(总共28个请求)。其中最大的文件是327Kb的ckeditor。错误主要似乎与此文件有关,在观察网络控制台时,这个文件总是在错误之前“卡壳”。如果这里有很多无用信息,对不起。我真的很困惑。我希望有人也遇到过同样的问题。但看起来问题指向我的主机没有正确地提供所有内容。

如果您在自己的系统上没有看到问题,那么这肯定似乎是与服务器相关的问题。我建议添加一些有关您的服务器设置的详细信息(以及可能在HTTP请求中间跳动的其他硬件,如HTTP压缩)。您可能还想考虑将此问题移至serverfault。 - Dan Short
1
我已经投票将问题移至ServerFault,但感谢您添加了额外的细节。 SF上的某个人可能更清楚在哪里寻找此类问题的答案。 - Dan Short
如果你的JS文件包含其他JS文件的部分,那么在提供文件时可能会出现并发问题。我不认为这可能发生在传输过程中或者是你的端上。 - Lee Kowalkowski
好的,谢谢丹。我不知道如何将一个问题移动到Serverfault - 我猜只需标记即可。 - Ste77
1个回答

0

好的 - 我想我已经找到了问题,但还不确定如何解决。

过去10分钟,我一直在重新加载我的页面。每当一个JS文件下载时间超过5秒时,就会出现问题。查看响应标头,我发现:

Keep-Alive timeout=5,max=53

所以我猜测这里由于某些原因JS文件需要比它们应该的时间更长,而连接被关闭,我得到了一个缺少一部分内容的混乱JS文件等。

但是我不知道如何解决这个问题。我将进行调查。

此外:

似乎这是一个Apache服务器配置:

http://httpd.apache.org/docs/2.2/mod/core.html

由于我使用的是共享服务器,我怀疑我的主机不会更改它。我一直在尝试寻找覆盖的方法,但是我找不到,而且我想这样做也会是极其糟糕的实践!

如果有人知道更多/不同的内容,请告诉我!现在我要去看看我能压缩什么...

谢谢。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接