我在Linux上部署了Tomcat 7(在端口8080上)和Apache服务器(在端口80上)的Web应用程序。在8080上访问应用程序时,一切正常。否则,在端口80上,应用程序表现得很奇怪:当我多次发出相同的请求(访问同一链接)时,有时会返回内容类型为“application / octet-stream”的响应(jsp页面翻译为HTML) ,作为要下载的文件。
如果我用记事本打开下载的文件,开头会有一堆无意义的字符,然后是响应标题,然后是我的html页面。
<code>
..•éb©®ùG.....< more nonsens >.......1Óä£ýÙw+ÊIñãðÇÿHTTP/1.1 200 OK
Date: Mon, 29 Apr 2013 09:23:37 GMT
Server: Apache/2.2.17 (Linux/SUSE)
Content-Language: ro
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html;charset=UTF-8
1ff8
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE HTML SYSTEM "about:legacy-compat">
...<the rest of my html page>
</code>
这似乎是Apache抛出错误,但日志是干净的(Apache日志和mod_jk日志)。
我感谢任何帮助。
谢谢!
特勤。
答案 0 :(得分:0)
我发现了问题:Avast Antivirus(免费版)默默地对响应进行了混乱,这又带来了另一个问题:为什么它在端口80上访问网站时认为它是一种威胁,但是没有做任何事情直接在端口8080上访问Tomcat时?
答案 1 :(得分:0)
我必须完全关闭Avast防火墙和大多数垃圾防护罩,如果不是页面没有加载或重新加载,小圆圈只是四处走动,直到它超时。
我发现是阿瓦斯特通过关掉该死的东西来解决我的问题。把它关掉然后就可以了。它干扰了我的javascript等。
此外,我无法在两个浏览器中登录我的网站。
我会使用Linux代替Windows进行Web开发,但是我喜欢我的Adobe Fireworks和其他软件,而且我绝对必须让IE来测试网站。因此,为了开发和测试我的网站,我必须没有安全性。我不会再购买avast了。
答案 2 :(得分:0)
您遇到的问题是您正在发出http 1.1调用,该版本支持大块数据的分块。 你得到的关键输出是:
Transfer-Encoding:chunked
1ff8
等。 你显然不希望你也不想解释它 - 因此你应该发出HTTP 1.0请求。