Когда разделять файлы, чтобы сохранить пропускную способность - PullRequest
1 голос
/ 17 октября 2008

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

Мое предположение о том, как измерить это, могло бы быть таким, что объем кода (в данном случае CSS или JS) должен быть больше, чем отправленные и полученные HTTP-пакеты, чтобы получить ответ 304.

Пожалуйста, игнорируйте тот факт, что рекомендуется не использовать стили и javascript вне HTML-страницы и думать только о производительности браузера. :)

Ответы [ 4 ]

5 голосов
/ 17 октября 2008

Честно говоря, с точки зрения производительности браузера, разделение ваших файлов CSS и JS и правильная установка заголовков с истечением срока действия, чтобы они кэшировались, увеличит производительность, а не ухудшит ее. Браузер кэширует его и никогда не запрашивает его снова, что уменьшает объем данных, передаваемых во время нескольких просмотров страниц.

Только если большая часть вашей аудитории заходит на ваш сайт с пустым кешем и , просматривая только 1 страницу, это поможет справке по CSS и JS.

См:

0 голосов
/ 20 октября 2008

Сам в этом разбираюсь; Я думаю, что я на правильном пути.

Фактический HTTP-запрос выглядит примерно так:

HTTP/1.1 304 Not Modified
Cache-Control: max-age=604800, public
Last-Modified: Tue, 17 Jun 2008 17:20:41 GMT
Date: Mon, 20 Oct 2008 03:49:58 GMT
Server: ucfe

Что составляет около 163 байтов?

Если посмотреть здесь (http://www.freesoft.org/CIE/Course/Section4/8.htm), похоже, что сам TCP-пакет может иметь размер от 20 байтов и более.

Таким образом, я бы предположил, что общий запрос + ответ будет выглядеть примерно как 250 байтов (угадывая 30 байтов для пакета tcp + бит заполнения для запроса и текста ответа). Не важно.

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

Пожалуйста, говорите, если я ошибся в своих расчетах

0 голосов
/ 17 октября 2008

Согласитесь с Райаном, однако, ЕСЛИ ваша аудитория будет когда-либо видеть ваш сайт только один раз, или если вы никогда не хотите, чтобы файлы кэшировались, включите CSS и JS inline.

Рекомендуется объединить сервер и сжать все файлы CSS / JS в один кешируемый файл для сохранения запросов и пропускной способности.

Это можно легко настроить как минимум в Tomcat и Glassfish.

0 голосов
/ 17 октября 2008

Я также хотел бы добавить, что вы должны по возможности объединять свой JS / CSS в одну загрузку (каждую), чтобы сэкономить на соединениях HTTP с веб-сервером. Я полагаю, что Yahoo предлагает это в своем URL, который опубликовал Райан. В итоге я написал свой собственный компонент .NET, который может комбинировать скрипты и CSS, а также минимизировать их при необходимости и кэшировать (на стороне сервера).

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