Apache2没有在标头中发送“Content-Type”

时间:2009-03-11 04:50:40

标签: apache2 content-type mime

我在Ubuntu上安装了标准的Apache2。

我试图让mod_deflate工作,但它注意到它并没有压缩我的.js文件。仔细检查发现 apache没有发送Content-Type:除了.php文件以外的任何内容。对于他们来说,它发送“text / html”,这很奇怪,因为DefaultType是“text / plain”。

我不知道为什么这是... mod_mime已启用,我没有触及它的配置。

以下是我的服务器对.css文件的响应示例:

Date    Wed, 11 Mar 2009 04:48:12 GMT
Server  Apache/2.2.9 (Ubuntu)
Connection  Keep-Alive
Keep-Alive  timeout=15, max=96
Etag    "30478-4fb-464bec553a600"
Vary    Accept-Encoding

3 个答案:

答案 0 :(得分:4)

看起来这是使用eTags缓存项目的结果,而我忽略了这一事实。

发生的事情是这些项目都在浏览器缓存中,并且实际上并没有从服务器发送,因此没有Content-Type。但是,浏览器在eTag上执行缓存查找时从服务器接收标头..这就是我所看到的。

答案 1 :(得分:2)

在httpd.conf中注释Content-Type默认值时会发生这种情况。

在Ubuntu 8.04中,我记得它设置为text / html。

答案 2 :(得分:0)

这是一个已知问题。它是哪个ubuntu版本的?

我刚试过ubuntu 8.10和debian 5安装,我没有触及apache配置。两者都很好:

HTTP/1.x 200 OK
Date: Wed, 11 Mar 2009 10:25:17 GMT
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch mod_wsgi/2.3 Python/2.5.2
Last-Modified: Wed, 11 Mar 2009 10:19:41 GMT
Etag: "1544ae-12-464d534a6c940"
Accept-Ranges: bytes
Content-Length: 18
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: text/css