Правило "все, что требуется для начала рендеринга страницы должно быть с одного сервера", обычно применяется к вашемусерверы или другие более мелкие ресурсы - ситуации, когда поиск DNS может занять заметную долю секунды (что может быстро сложиться, если ваши объекты разбросаны по многим доменам). При использовании общедоступных ресурсов, таких как кэш Google jQuery и других библиотек, есть большая вероятность того, что браузер вашего посетителя уже выполнил этот поиск DNS сегодня (потому что другие сайты ссылаются на контент из этой службы) и, вероятно, также имеет файл в кеше, так что нет Передача должна быть выполнена (или, если сделан запрос, он может просто получить короткий ответ «304 - не изменен»). Даже если для объекта требуется полная загрузка, сеть доставки контента Google будет быстрее для большинства пользователей, чем ваша операция меньшего масштаба.
Одно связанное правило: объекты, которые не требуются для правильного функционирования страницы (как видит пользователь), должны упоминаться как можно позже в основном ответе HTTP. Например, такие вещи, как сценарии, необходимые для служб рекламы / статистики (т. Е. Google Analytics и тому подобное), - предоставьте пользователю свой контент как можно быстрее, а затем загрузите фоновые данные, которые действительно вас интересуют. Я заблокировал несколько служб рекламы / статистики (сопоставив их с 127.0.0.1 в моем файле hosts), потому что они часто бывают слишком медленными, и сайты, которые ссылаются на них раньше, просто дают мне пустую страницу, в то время как сценарии ждут вместо этого о том, чтобы ссылаться на них поздно, чтобы я мог прочитать содержание, на котором я нахожусь, в то время как другие вещи бродят в фоновом режиме.
Полезность домена без файлов cookie для статического содержимого зависит от масштаба. Если у вас есть только один 10-байтовый идентификатор сеанса в файлах cookie и десять тысяч посетителей в день, запрашивающих ~ 20 статических объектов за посещение, вы экономите всего ~ 118 Мбайт в месяц (20 * 20 * 10000 * 31/1024/1024). Если, с другой стороны, ваш сайт хранит в файлах cookie один или два килобайта содержимого, разница может быть гораздо более значительной, особенно если кто-то из ваших пользователей получает доступ к сайту через медленные соединения (например, GPRS через привязку к мобильному телефону или более - переполненная ссылка Wi-Fi в зоне сильных помех), или если вы получаете миллионы посещений в день.
Подводя итог, можно сказать, что для сценариев, которые должны быть загружены до того, как страница может отобразиться, мои предпочтения будут такими:
- ajax.googleapis.com или аналогичный
- оригинальное имя хоста вызывающей страницы
- статический домен без файлов cookie
Для ресурсов, которые не важны для начальной визуализации страницы, обратитесь к ним как можно позже и отмените приведенный выше список предпочтений (хотя разница между исходным именем хоста и доменом без файлов cookie, скорее всего, незначительна, если вы не работаете в массовом масштабе). ).
With common public resources ... there is a good chance that your visitor's browser has already done that DNS lookup today
Лично мне было бы неудобно полагаться на это для моего сайта. Я бы хотел, чтобы это было как можно быстрее в максимально возможной степени. Независимо от того, вы делаете хорошие очки. +1