Safari не принимает сжатый контент? - PullRequest
4 голосов
/ 18 октября 2010

Я занимаюсь разработкой веб-сайта и использую gzip.exe для предварительного сжатия файлов CSS и JS (это всего лишь 1 файл CSS, размер которого увеличился с 4,53 КБ до 1,50 КБ, а также файл JS, содержащий jquery и некоторые скриптыот 72,8 КБ до 24,7 КБ)

это файлы style.gz и js.gz, которые служат статическими файлами.

Проблема в том, что они не работают с Safari (v5.0.2) не css и не js.

отлично работает для этих браузеров:

Firefox 3.6.10 / Google Chrome 6.0.4 ... / IE 8 x64 / Flock 3.0.6 / Maxthon 2.5.15 ... / Avant Browser 2010

Все они отлично работают, кроме Safari

Я использую Windows 7 x64

Ответы [ 3 ]

3 голосов
/ 18 октября 2010

Вы должны заставить сервер gzip их сделать - это можно сделать в файле htaccess и работает просто отлично.

2 голосов
/ 18 октября 2010

+ 1 Что сказал грабитель.

То, что вы делаете, это хак, который не должен работать, поэтому вы не можете жаловаться, когда он терпит неудачу. Обслуживание ресурса gzip совершенно отличается от обслуживания ресурса другого типа с использованием заголовка Content-Encoding для сжатия его по проводам.

Обслуживание предварительно сжатых файлов, очевидно, также не будет работать для пользовательских агентов, которые не понимают gzip. Стандарт HTTP предоставляет механизм для согласования этого: Accept-Encoding и Content-Encoding. Если вы повторно не внедрите этот механизм в полном соответствии со стандартами (а статья в ссылке Майкла не начинает , чтобы понять это правильно), вы блокируете клиентов.

Это все ненужно. Gzip работает быстро, и серверы обычно кешируют сжатую версию статического контента, поэтому вы ничего не получите, пытаясь угадать его. HTTP-сжатие является частью основной компетенции веб-сервера, позволяя веб-серверу выполнять свою работу и оставлять gzip в покое.

1 голос
/ 18 октября 2010

Есть способ обойти эту проблему.В основном вам нужно использовать .jgz вместо .gz в качестве расширения для файлов JavaScript:

Исправление для .gz и Safari

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...