Навіщо вставляти статичні файли (CSS, зображення, JavaScript, ECC) у субдомен?


29

Чому так багато великих і маленьких сайтів вставляють статичні файли (CSS, зображення, JavaScript, ECC) у субдомен, як media.example.comабо s2.static.example.com?

Які переваги? Чому б не просто такий каталог, як example.com/media/?

Відповіді:


24

Я бачу щонайменше три можливі (хороші) причини:

  • Використовуйте іншу машину для подачі статичного вмісту
    • У тому числі деякі CDN
  • Використовуйте інший веб-сервер для обслуговування статичного вмісту
    • Щось легше і швидше
    • Немає потреби в повному сервері PHP / .NET / JAVA для обслуговування статичного вмісту!
  • Використання іншого доменного імені означає, що ви не зможете мати файли cookie, які використовуються в основному домені

Ось що робиться в StackOverflow, якщо я правильно пам’ятаю


15

Основна причина, на яку я думаю, - це печиво.

Файли cookie надсилатимуться разом із кожним запитом , скажімо, якщо у вас є 2 кб даних cookie та завантажено 20 зображень на сторінку.

Це зайві 40 кб даних, помножте на кількість переглядів сторінок за місяць, і ви можете бути здивовані тим, скільки пропускної здатності ви втратили в чомусь марному, а пропускна здатність не вільна ...

Крім того, файли cookie, встановлені на домені верхнього рівня, надсилаються через усі запити, зроблені на будь-який піддомен, у цих випадках навіть рекомендується купувати новий домен для розміщення там статичних компонентів, у домені без файлів cookie .

Наприклад, використовує StackOverflow, використовує sstatic.netYahoo yimg.com, YouTube використовує ytimg.com, Amazon images-amazon.comтощо.

Подивіться на це:


8

Щоб додати до деяких відповідей вище: деякі веб-браузери можуть завантажувати два файли одночасно з будь-якого домену.

Обслуговування статичного контенту з іншого імені хоста (або імена - наприклад a.domain, b.domain, c.domain) дозволяє ці старі браузери для завантаження додаткових файлів паралельно.


2

... використовувати домени без файлів cookie для компонентів.

Коли браузер робить запит на статичне зображення та надсилає файли cookie разом із запитом, сервер не використовує цих файлів cookie. Тож вони створюють лише мережевий трафік без поважних причин. Ви повинні переконатися, що статичні компоненти запитуються за допомогою запитів без файлів cookie. Створіть субдомен та розмістіть там усі свої статичні компоненти.

Ця порада була взята з найкращих практик Yahoo щодо подорожчання вашого веб-сайту .


0

Просто тому, що ваш запит http буде меншим і сервер буде працювати швидко, і запитуваний файл буде наданий за дуже малий час, що в кінцевому рахунку призведе до найшвидшого завантаження сторінки


Це не додає нічого, чого інші відповіді вже не кажуть. Ви навіть не кажете, чому запит менший (через відсутність файлів cookie), тому ця відповідь гірша, ніж у багатьох інших.
Стівен Остерміллер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.