2009-03-11 7 views
4

У меня есть стандартная установка Apache2 на Ubuntu.Apache2 не отправляет «Content-Type» в заголовке

Я пытался заставить mod_deflate работать, что и есть, но заметил, что это не gzipping мои .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 

ответ

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 
+0

cat/etc/lsb-release дает мне версию 8.10 –

2

Это случается несколько раз, когда значение по умолчанию Content-Type комментируется в httpd.conf.

В Ubuntu 8.04 он настроен на text/html, как я помню.

+0

В httpd.conf я нахожу: DefaultType html/plain ... что странно, как получается получение «text/html» для моих .php-файлов, но не «text/javascript» для .js-файлов или «text/css» для моих .css-файлов? –

+1

Я бы обратил внимание на PHP. –

+0

Видел эту тонкую ошибку после обновления от Debian Squeeze до Debian Wheezy. 'DefaultType' был (по умолчанию) установлен в' text/html' в Squeeze и 'none' в Wheezy. Посмотрев на заголовки, отправленные Apache, я понял, что Content-Type не отправляется из Wheezy. Это вызвало странную проблему в некоторых браузерах (например, в IE), где файлы данных пытались визуализироваться inline. Изменение 'DefaultType' обратно на' text/html', как это было в Squeeze, исправило эту проблему, вызвавшую предложение IE загрузить файл. –

4

Похоже, что это был результат того, что элемент кэшируется с помощью eTags, и я не замечаю этого факта.

Что произошло, так это то, что эти элементы были в кеше браузера и на самом деле не были отправлены с сервера, поэтому Content-Type не было. Тем не менее, браузер получал заголовки с сервера, делая поиск кеша на eTag .. это то, что я видел.

 Смежные вопросы

  • Нет связанных вопросов^_^