Реализация параллельной загрузки статического контента в браузер? - PullRequest
0 голосов
/ 21 февраля 2010

Мы смотрим на настройку наших веб-страниц, чтобы мы разделяли наши запросы на получение статических данных по поддоменам. Для этого мы должны:

  • Всегда обслуживать один и тот же контент из одного и того же субдомена, чтобы он оставался в кэше
  • Попробуйте и подайте примерно одинаковое количество контента от каждого из поддоменов
  • Попробуйте сделать это автоматически для каждой страницы, т.е. избегайте ручного кодирования каждого изображения и сохраняйте это
  • Придумайте решение, которое будет работать в наших средах разработки / тестирования / производства
  • Не влияет на время обработки страницы на сервере

Мы создаем наши HTML-страницы, используя сервер приложений J2EE, и я пытаюсь найти лучший подход для реализации этого для всех наших веб-страниц.

Насколько я понимаю, если мы сделаем это во время рендеринга HTML-страницы, нам понадобится список изображений с размерами, которые будут где-то храниться, к которым мы можем обращаться при создании страницы. Если изображение должно быть выписано на HTML-странице, нам нужно будет определить, сколько других изображений обслуживается этим поддоменом для этого пользователя на этом этапе обработки страницы. Затем мы присваиваем это изображение поддомену и каким-то образом запоминаем его для сеанса пользователя (или дольше).

Или я слишком усложняю это? Будет ли проще вести список изображений на каждой странице сайта и (в автономном режиме) определять, в каком поддомене живет каждое изображение, и просто использовать его последовательно для всех пользователей?

Я думал, что может быть способ сделать это в браузере, используя JavaScript, но я думаю, что издержки для каждого рендера страницы могут быть немного высокими.

Я знаю, что тема немного размыта, но если бы кто-то реализовал это, я бы хотел услышать о вашем опыте.

Спасибо!

1 Ответ

1 голос
/ 21 февраля 2010

Если ваша ситуация не является необычно необычной, я думаю, вы, скорее всего, слишком усложняете ее.

Во-первых, ваш подход с параллельными загрузками здесь игнорирует один из других ключевых элементов производительности на стороне клиента, который заключается в минимизации количества различных используемых вами доменов. Вы должны найти баланс между ними. Из тех же руководств, которые вы связали с :

разделить [изображения, скрипты, CSS, Flash и т. Д.] На не менее чем на два, но не более четырех имен хостов (добавлено em)

Таким образом, простейшее решение также, вероятно, наиболее оптимально для большинства ситуаций:

  • домен для изображений;
    • В ситуациях с большим объемом изображений элементов дизайна (например, закругленными углами, маркерами и т. Д.) И отдельным объемом изображений содержимого рассмотрите возможность их обслуживания из двух - например, static-images.mydomain.com и content-images.mydomain.com
  • Один для скриптов, CSS и Flash;
    • Если один из них, в частности, занимает значительно больше, чем другие, рассмотрите возможность его выделения в отдельный домен от других.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...