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/
?
Je vois au moins trois (bonnes) raisons possibles:
C'est ce qui est fait sur StackOverflow si je me souviens bien
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:
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.
... 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 .
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.