Обновить
108
Кирилл Коншин@dfuse

Principal Software Developer

40
Подписчики
Отправить сообщение
support.microsoft.com/default.aspx?scid=kb;en-us;823386&Product=ie600 я бы не называл это «некоторыми проблемами в экзотических задачах»…

When Microsoft Internet Explorer receives compressed HTTP data, you may experience one of the following problems:

— HTML pages may only partially appear, or the pages may not appear at all.
— Your HTTP connection may stop responding.

Саuse: This behavior occurs because Internet Explorer does not read all the data in the HTTP response.
Да нет, просто статья то о PHP… Я вот свой плюсик поставил…
Флаг в руки. Я обеими руками за. А майкрософту надо оторвать кой-чего за то, что IE6 GZIP'у не обучен. Имейте ввиду и проверяйте заголовки, я выше писал как.
Ничего оно не ухудшит. Почитайте википедию — там доступно разъяснено, что нужен он когда надо переслать 1 байт, а заголовков при этом на 40. Это довольно расточительно, поэтому пакет собирается по кускам и отправляется за один заход.

А у нас наоборот пакет здоровый.
Да при современных каналах даже 1 байт ценной инфы может обрамляться 40 байтами заголовков и не страшно… лишь бы дошел.
Ну я как-то больше привык сам настраивать :) потому что хрен его знает что там админы намутили… Кстати есть какие-то хорошие хостеры на примете? (лучше в личку наверно)
Я вообще то про то же
А если 10 таких запросов? 3 секунды провисания… Многовато…
Дык эт вы не мне пишите ))) У меня то все ок, только что проверял Safari 3
5.2.6 Буфер выключен.

Display Length: 1304 KiB.
Reach end file: 1.03 ms.
Да, по-хорошему так и надо. Но если брать в расчет шаред-хостинг, то становится тоскливо :(
Это слишком радикально :)
Вроде того, я думаю.
Я имел ввиду, что на этапе разработки не надо включать minify ибо разрабатывать будет неудобно. «зато после публикования можно смело врубать»
Я как раз так и делаю :)

if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) $acceptEnc = $_SERVER['HTTP_ACCEPT_ENCODING']; else $acceptEnc = $_SERVER['HTTP_TE'];
$_SERVER[cmsGZIP] = array(
«enabled» => (stristr($acceptEnc, 'gzip') || stristr($acceptEnc, 'deflate'))? true: false,
«algorythm» => (stristr($acceptEnc, 'deflate'))? «deflate»: «gzip»,
);
Я имел ввиду, что надо отдавать в самом конце, после всей логики. Чтобы после тяжелого принта не было выполнения. Т.к. пока принт не выполнится, до того, что за ним дело не дойдет. Нам то важно, чтобы скрипт быстро отработал и отдал данные — тогда перед принтом можно и соединения позакрывать и память почистить.
Подумал еще разок — может тот скрипт, что отдает GZIP просто не ставит соответствующие заголовки Content-Encoding: gzip? Это тупо конечно, но другой причины я реально не вижу, по крайней мере с серверной стороны.
Чтобы сайт был стоек к DDoS вероятно лучше пользоваться FastCGI, но только не с PHP, а допустим с Perl. Потому что перл песочницу создает однократно и надо только будет следить, чтоб не было утечек памяти, а РНР будет все равно запускаться каждый раз с нуля.

В большинстве сайтов, которые мне довелось видеть, всяческие autoexec и фреймворки грузятся зачастую дольше, чем сам скрипт работает ;). Поэтому если каждый раз экономить по 50-100 мс на подготовке, то за 100 запросов мы получим нехилую экономию. Даже при учете, что допустим сам скрипт работает еще столько же.
Долбаный CTRL+ENTER :)

А насчет TIDY я еще не думал честно говоря… Кстати есть мнение, что нужно не только JS, но и CSS и HTML отдавать в «minified» виде. Не удобно при разработке, зато после публикования можно смело врубать.
GZIP об IE6 споткнётся, а так у меня на сайтах так и делается — сначала все в буфер, потом если есть возможность — в GZIP или DEFLATE, в результате имеем

Сжатие DEFLATE: 8.84 КБ → 2.78 КБ (68,6%)
Полное время выполнения: 0,051 сек.

Информация

В рейтинге
Не участвует
Откуда
San Francisco, California, США
Дата рождения
Зарегистрирован
Активность