web-dev-qa-db-fra.com

Pourquoi insérer des fichiers statiques (CSS, images, JavaScript, ECC) dans un sous-domaine?

Pourquoi tant de petits et grands sites insèrent des fichiers statiques (CSS, images, JavaScript, ECC) dans un sous-domaine comme media.example.com ou s2.static.example.com?

Quels sont les avantages? Pourquoi ne pas simplement un répertoire comme example.com/media/?

29
xRobot

Je vois au moins trois (bonnes) raisons possibles:

  • Utilisez un autre ordinateur pour diffuser le contenu statique
    • Y compris des CDN
  • Utilisez un autre serveur Web pour servir le contenu statique
    • Quelque chose de plus léger et plus rapide
    • Pas besoin d'un serveur PHP/.NET/Java complet pour servir du contenu statique!
  • Utiliser un autre nom de domaine signifie que vous ne pourrez pas utiliser les cookies utilisés sur le domaine principal

C'est ce qui est fait sur StackOverflow si je me souviens bien

24
Pascal MARTIN

La raison principale, je pense, est pour les cookies.

Les cookies seront envoyés avec chaque demande , disons si vous avez 2 Ko de données de cookies et chargez 20 images sur une page.

C’est un supplément de 40 Ko de données, multiplié par le nombre de pages vues par mois, et vous pourriez être surpris de la quantité de bande passante ont perdu quelque chose d’inutile, et la bande passante n’est pas gratuite ...

En outre, les cookies définis sur le domaine de premier niveau sont envoyés pour toutes les demandes adressées à n’importe quel sous-domaine. Dans ces cas, il est même recommandé d’acheter un nouveau domaine pour y héberger les composants statiques domaine sans cookies .

Par exemple, StackOverflow utilise sstatic.net, Yahoo utilise yimg.com, YouTube utilise ytimg.com, Amazon utilise images-Amazon.com, etc.

Donnez un coup d'oeil à ceci:

15
CMS

Pour ajouter certaines des réponses ci-dessus: certains navigateurs Web ne peuvent télécharger que deux fichiers simultanément à partir de n'importe quel domaine.

Le fait de servir du contenu statique à partir d'un nom d'hôte différent (ou de noms - par exemple, a.domain, b.domain, c.domain) permet à ces anciens navigateurs de télécharger davantage de fichiers en parallèle.

8
realworldcoder

... utiliser des domaines sans cookies pour les composants.

Lorsque le navigateur demande une image statique et envoie des cookies avec la demande, le serveur n’a aucune utilisation de ces cookies. Ils créent donc uniquement du trafic réseau sans raison valable. Vous devez vous assurer que les composants statiques sont demandés avec des demandes sans cookie. Créez un sous-domaine et hébergez-y tous vos composants statiques.

Ce conseil provient de Yahoo Meilleures pratiques pour accélérer votre site Web .

2
M4N

Tout simplement parce que votre requête http sera plus petite et que le serveur fonctionnera rapidement et que le fichier demandé sera donné dans un temps très court, ce qui conduira finalement au chargement de page le plus rapide.

0
Saurabh Sharma