Je remarque que de nombreux sites hébergent leurs ressources sur un domaine distinct du site principal, par exemple StackExchange en utilisant sstatic.net, Barnes & Noble en utilisant imagesbn.com, etc.
Je comprends qu'il y a des avantages à placer vos ressources statiques sur un hôte séparé, éventuellement avec un serveur Web de fichiers statiques efficace comme nginx, libérant le serveur principal pour se concentrer sur la diffusion de contenu dynamique. De même, l'externalisation vers un CDN partagé comme cloudfront Akamai est logique.
Mais quel est l’avantage d’utiliser un domaine distinct autrement? Pourquoi sstatic.net au lieu de static.stackexchange.com?
Mise à jour : Plusieurs réponses manquent la question centrale. Je comprends qu'il y a un avantage à se diviser entre plusieurs hôtes - téléchargements parallèles, serveur Web plus mince, etc. Mais ce qui est plus difficile à comprendre, c'est pourquoi plusieurs domaines . Pourquoi sstatic.net plutôt que static.stackexchange.com en tant qu'hôte pour les ressources partagées? Jusqu'à présent, une seule réponse a répondu à cela.
Lèse majesté a couvert les points principaux, mais pour développer davantage, j'ajouterais que le fait d'avoir un seul domaine pour tous les différents sites Stack Exchange signifie que quelqu'un qui les parcourra ne téléchargera qu'une seule fois le contenu statique tel que JavaScripts. Pour accéder au superutilisateur, par exemple, un utilisateur utilisera le contenu mis en cache car il provient du même endroit.
Il y a des informations plus utiles sur Yahoo et Google à ce sujet.
la source
La raison principale est les cookies. Ce que Niels a suggéré dans sa réponse n'est qu'une conséquence mineure et non la vraie raison. Sans cookies, la taille de la demande est plus petite, ce qui permet d'économiser de la bande passante.
Cependant, la vraie différence vient du cache du navigateur. Comme le contenu est statique (c'est-à-dire qu'il ne change pas), les navigateurs peuvent le mettre en cache sur le disque dur local et éviter à chaque fois de charger le fichier depuis Internet. Au lieu du fichier entier, le serveur Web envoie simplement une réponse 304, ce qui signifie que le contenu n'a pas changé.
Lorsque le site utilise des cookies, les navigateurs considèrent que le contenu du fichier peut être différent pour différents utilisateurs, ils ne mettent donc pas ces fichiers en cache. Servir le fichier depuis un domaine sans cookie garantit que la mise en cache du navigateur fonctionne correctement.
C'est la raison principale car elle améliore les temps de chargement et réduit considérablement la bande passante.
la source
Les navigateurs plus anciens sont limités à seulement deux téléchargements parallèles par nom d'hôte.
Le fractionnement des éléments d'une page Web sur plusieurs domaines est appelé partitionnement de domaine . Cela permet de télécharger plus de ressources en parallèle, ce qui réduit les temps de chargement des pages.
Le nombre optimal de domaines à répartir est de 2 à 4. Après 4 domaines, le temps de réponse se dégrade .
la source