Рассмотрим обычные вызовы функций C для записи данных в файлы - write(2)
:
ssize_t
write(int fildes, const void *buf, size_t nbyte);
… и fwrite(3)
:
size_t
fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
Ни одна из этих функций не принимает const char *
NUL-оканчивающуюся строку. Скорее, они принимают массив байтов (a const void *
) с явным размером. Эти функции обрабатывают байты NUL точно так же, как и любое другое значение байта.
Возможно, что mod_deflate был настроен неправильно.
Типичная конфигурация mod_deflate может исключать определенные браузеры на основе строк пользовательского агента и может быть настроена только на сжатие определенных типов файлов - идентифицированных по их типу MIME, зарегистрированному на сервере.
Вы должны сжимать все ваши файлы HTML, CSS и Javascript, но не файлы PNG, GIF или JPEG, и в Netscape 4 есть ошибки, которые вы можете или не хотите для учета. Попробуйте использовать образец кода из документации :
<Location />
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</Location>
Также обратите внимание, что опубликованный вами тест GIDZipTest GZIP не проверяет связанные файлы Javascript и CSS, тогда как YSlow делает - в тесте GIDZipTest GZIP вам необходимо протестировать эти индивидуально.
Я полагаю, также возможно, что ваш провайдер использует кэширующий прокси - прозрачный или нет - который искажает или удаляет ваш заголовок Accept-Encoding :. Чтобы исключить это как причину, вы можете попросить кого-нибудь протестировать это вне вашего провайдера.
Еще одна вещь, на которую следует обратить внимание, это то, что при сжатии файлов с помощью gzip вы меняете пропускную способность на процессорное время. Выше более низких степеней сжатия вы увидите уменьшение отдачи от экономии полосы пропускания, но при этом огромное увеличение требуемого времени ЦП. К сожалению, с силой сжатия, равной 9, вы почти наверняка тратите слишком много времени процессора на очень небольшое улучшение сжатия - я всегда рекомендую использовать силу 1.
Также следует отметить, что при сжатии файлов с помощью gzip вы жертвуете пропускной способностью процессора. Выше более низких степеней сжатия вы увидите уменьшение отдачи от экономии полосы пропускания, но при этом огромное увеличение требуемого времени ЦП. К сожалению, с силой сжатия, равной 9, вы почти наверняка тратите слишком много времени процессора на очень небольшое улучшение сжатия - я всегда рекомендую использовать силу 1.
Также следует отметить, что при сжатии файлов с помощью gzip вы жертвуете пропускной способностью процессора. Выше более низких степеней сжатия вы увидите уменьшение отдачи от экономии полосы пропускания, но при этом огромное увеличение требуемого времени ЦП. К сожалению, с силой сжатия, равной 9, вы почти наверняка тратите слишком много времени процессора на очень небольшое улучшение сжатия - я всегда рекомендую использовать силу 1.
Сделать то же самое с ASP.NET Читать эту статью - http://coder.informisk.com/post/2010/01/10/get-grade-a-in -SLOW.ASPX
этот веб-сайт http://www.rubyrobot.org/article/5-tips-for-faster-loading-web-sites сказал мне, что AddOutputFilterByType не будет работать в .htaccess