URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID4
Нить номер: 245
[ Назад ]

Исходное сообщение
"оптимизация"

Отправлено kerdan , 15-Дек-06 21:06 
я очень удивлен почему в на этом сайте (хотя и на других этого навалом) прямо в сгенерированном html'е находятся довольно большие скрипты. Если их пихать в файлы, то они ведь закешируются и не будут качатся каждый раз.

Или Вас время загрузки страниц на обычных соединениях не интересует?
Извините за критику... (хотя я еще бы написал...)


Содержание

Сообщения в этом обсуждении
"оптимизация"
Отправлено Maxim Chirkov , 16-Дек-06 17:14 
>я очень удивлен почему в на этом сайте (хотя и на других
>этого навалом) прямо в сгенерированном html'е находятся довольно большие скрипты. Если
>их пихать в файлы, то они ведь закешируются и не будут
>качатся каждый раз.

Был бы благодарен, если бы вы указали на какой странице вам встретилась такая вставка.

Прямая JavaScript вставка на opennet может быть по одной из следующих причин:
1. Банальные недосмотр, иногда в процессе разработки делается прямая javascript вставка о которой, учитывая объем сайта, можно забыть.
2. Код баннеров. Код крутилки баннеров требуют размещать напрямую, иначе referer будет указывать совсем не на ту страницу.
3. Скрипт генерируется динамически.
4. Скрипт небольщого размера, который через script src не имеет смысла подгружать, трафик от HTTP заголовков больше по размеру может оказаться.

>Или Вас время загрузки страниц на обычных соединениях не интересует?

Здесь как раз не так все гладко,  при использовании "script src" страница не отобразится в некоторых браузерах до тех пор пока не прогрузится скрипт. По субъективным впечатлениям, я бы не советовал больше двух  "script src" на странице размещать, была какя-то проблема в IE из-за которого загрузка при нескольких "script src" стопорилась.



"оптимизация"
Отправлено kerdan , 21-Дек-06 08:39 
Меня очень смутил именно код баннера, просто уж открыл код и тут же наткнулся.
Если честно не совсем понял почему его нельзя подгружать из вне...

Еще меня интересует метод генерации сообщений в форуме:
судя по всему скрипт на сервере выплевывает сообщения и сопровождающий его html.
Так?
у меня на форуме делается так (и это не мое изобретение, хотя, имхо, очевидное):
подключается скрипт (через src), в котором есть функция M(текст,от кого,дата,т.д.)
а потом сервер для каждого сообщения вызывает ее (конечно в пределах одного тега script).
Да к тому же Вы, наверное, согласитесь, что для серверного скрипта генерировать код с переводами строк то же ни к чему.

То есть, полное разделение механизма и политки в общем смысле.

> была какя-то проблема в IE из-за которого загрузка при нескольких "script src"
> стопорилась.

Если была, то именно имхо `была'..., нынче я такого не встречаю :), чему, собственно, рад.

> Здесь как раз не так все гладко,  при использовании "script src" страница не отобразится
> в некоторых браузерах до тех пор пока не прогрузится скрипт.

В этом случая я все же думаю лучше загружать страницу, которая не отображается до полной
загрузки скриптов, но размером X (не учитывая уже закешированные скрипты), чем
постепенно отображающуюся страницу размером от 2X до 10X.

P.S. Позволю себе еще одно предложение:
таблица с рекламмой дистрибутивов внизу, меню вверху...
можно тоже генерировать js-ом...

P.S. Может я и неправ? Пишите тогда в чем...


"оптимизация"
Отправлено Maxim Chirkov , 21-Дек-06 09:11 
>Еще меня интересует метод генерации сообщений в форуме:
>судя по всему скрипт на сервере выплевывает сообщения и сопровождающий его html.

На половину, динамикой генерируется только, то что идет в запросе к /cgi-bin/openforum/vsluhboard.cgi, то что лежит в /openforum/vsluhforumID* - обычная статика, сгенерированная на этапе публикации последнего сообщения в треде. При Ajax режиме отображения контент через XmlHTTPRequest динамически подгружается.

>у меня на форуме делается так (и это не мое изобретение, хотя,
>имхо, очевидное):
>подключается скрипт (через src),
> в котором есть функция M(текст,от кого,дата,т.д.)

Такой метод не даст поисковым системам индексировать сообщения, lynx'ом уже не почитаешь и локально не сохранишь. Хотя трафик экономит, но за счет дополнительной нагрузки на браузер пользователя.

>загрузки скриптов, но размером X (не учитывая уже закешированные скрипты), чем
>постепенно отображающуюся страницу размером от 2X до 10X.

Вы говорите о страницах размером 30 Кб, которые с mod_deflate реально весят 5 Кб. Сгенерировав их через JavaScript, будем вечно бороться с его реализациями в разных браузерах и проблемами совместимости (рядом сидит человек который разрабатывает достаточно сложную "web2" систему, поверьте, в текущих реализациях JavaScript на ровном месте несовместимости, большая часть времени уходит не на написание кода, а на отлаживание более-менее одинаковой работы в IE, Opera и Firefox), я до сих пор плююсь дома когда на JavaScript форумах у меня Opera падает, Firefox вроде давно не падал.

Вообщем мой подход - если есть возможность обойтись без JavaScript, нужно обходится, чем его меньше на сайте тем лучше.



"оптимизация"
Отправлено kerdan , 23-Дек-06 20:35 
> большая часть времени уходит не на написание кода, а на отлаживание более-менее
> одинаковой работы в IE, Opera и Firefox)

Да, есть такое дело... спорить не буду.
Хотя, Ajax - тоже пока не панацея: на виндовсе я, например, юзаю opera 7.6, а новую лень
ставить, соответсвенно Ajax не работает, но я то ладно - а куча юзеров имеет подобные
проблемы и в основоном, навероное, и не знает что это такое - Ajax...

Дело в том, что я сейчас разрабатываю php-движок для коммерческого
проекта. Посещаемость там очень высокая, поэтому и требования к безопасности тоже.
Хотя сервер там и очень крутой заказан (а потом и что-то вроде кластера планируется),
но оптимизация трафика очень нужна.

Ну так вот, Ajax я подумал, подумал, и решил не использовать, а написал несколько
весьма маленьких js-функций, являющихся функциональным аналгом XmlHTTPRequest.
При этом я могу подгружать динамически не только данные, но и новые скрипты.
(через скрытый фрейм, т.е. страницы у меня реально не обновляются).

И знаете, работает..., везде...
Что это? Просто - приятное исключение в практике работы с js?
Видимо, да.

> Такой метод не даст поисковым системам индексировать сообщения, lynx'ом уже не почитаешь
> и локально не сохранишь. Хотя трафик экономит, но за счет дополнительной нагрузки на
> браузер пользователя.

Согласен с первым утверждением..., добавить не чего - дело вкуса.
Но насчет браузеров пользователей - нет: ресурсы их копьютеров используются
процентов на 10%, тем более когда они в инете, то врядли кто-то паралельно
видео монтирует,
так что я только радуюсь возможности снять нагрузку со своего сервера.
Согласитесь - это все-таки, приятно, справедливо даже, и к тому же незаметно все-таки ;)

//----- P.S.
И все-таки генерацию таких вещей как реклама дистрибутивов у Вас внизу и
менюха верху, имхо, лучше запихнуть во внешний скрипт.

P.P.S. Уж простите за новящевое предложение,
просто у меня видимо уже мания оптимизации...
(видимо в детстве за асмом пересидел... ;))