2011-11-22 34 views
3

我有我自己的本地服务器设置并希望确保我与5大浏览器(IE,Firefox,Chrome,Safari,Opera)兼容,但我遇到了Opera的问题。即访问我的本地资源,javascript,css,图像等时出现问题并挂起。加载资源时Opera挂起

我可以看到GET请求和服务器响应很好,其他浏览器没有问题,但Opera挂起。起初,我认为这可能是讨论的问题here,但我不确定是否是这种情况,因为Opera最终会正确显示页面。看起来它正在等待某些东西,超时,然后请求另一个文件,直到完全满足需要,然后正确显示页面。这不是我的Opera的配置设置的问题,因为我能够看到它通过我的thttpd服务器很好的访问。

过程看起来像现在这种权利:

  • 歌剧发送GET HTML请求
  • 服务器用头& HTML文件响应服务器
  • 歌剧院等待....
  • 歌剧院发送GET资源请求到服务器
  • 服务器响应标头&资源
  • 歌剧等待...
  • 歌剧呈现

我仍然在试图寻找一个答案,但它是令人沮丧,当它适用于所有其他浏览器。

EDIT(11年11月23日12时15 EST):

Got message from client: 
GET/HTTP/1.1 
User-Agent: Opera/9.80 (Windows NT 6.1; U; Edition United Kingdom Local; en) Presto/2.9.168 Version/11.52 
Host: 192.168.0.3:8082 
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 
Accept-Language: en-US,en;q=0.9 
Accept-Encoding: gzip, deflate 
Connection: Keep-Alive 

Server Response: 
HTTP/1.1 200 OK 
Content-Type: text/html; charset=iso-8859-1 
Accept-Ranges: bytes 
Connection: close 
Content-Length: 2909 
[File content] 

EDIT(11/28/11 5点30分EST): 难道是我的HTML头一个问题?

<head> 

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/> 

    <meta name="viewport" content="width=device-width"> 

    <title>TestPage1</title> 

    <!-- Javascript References --> 

    <script type="text/javascript" src="Styles/Display.js" charset="utf-8"></script>  



    <!-- CCS References --> 

    <link rel="stylesheet" href="Styles/Display.css" type="text/css" charset="utf-8"/> 

</head> 
+1

服务器是否支持HTTP流水线?如果Opera支持流水线操作,Opera能否正确发现?你是否调整了最大连接的设置? 对于这样的问题,我真的需要一个URL来看待.. – hallvors

+0

它是一个本地服务器(所以没有从网上看到它)从头开始,我试图让它尽可能小。我不熟悉流水线,所以它不在服务器中。如果有帮助,我已经使用客户端/服务器交换示例编辑了上面的帖子。 – Matt

+1

如果您在此处禁用“启用流水线”前缀,是否有帮助? opera:config#pipelining - 请注意,您可能希望稍后再打开它,将其关闭会减慢正常浏览。另一个可以尝试调整分析的前提是opera:config#Loading%20Delayed%20Timeout - 这基本上决定了如果JavaScript文件未加载需要等待多少秒钟。 – hallvors

回答

0

这个问题得到回答在the comment by @hallvors

如果您在此处禁用 “启用流水线” PREF,有何帮助? opera:config#流水线 - 请注意,您可能希望稍后再打开 ,将它关闭会减慢正常浏览的速度。另一个 你可以尝试调整分析的 opera:config#Loading%20Delayed%20Timeout - 这基本上决定了如果JavaScript文件未加载, 需要等待几秒钟。

该错误可能是由于Opera启用了HTTP/1.1流水线,Firefox和Chrome由于服务器行为有问题而被禁用,而且Microsoft IE没有实现。它在基于Firefox的Tor浏览器软件包中启用。