web-dev-qa-db-fra.com

Paralléliser les téléchargements avec un serveur à l'aide d'apache

Les gens semblent pousser tout cela comme un moyen de vendre des CDN, mais cela peut sûrement être fait avec Apache. Si les navigateurs ne peuvent télécharger que 8 fichiers à la fois à partir de website.com, pourquoi ne puis-je pas configurer 2 sous-domaines aléatoires pointant vers le même emplacement et servant au hasard des images de ces sous-domaines au lieu du même domaine? Par exemple

<img src="https://website.com/images.img1.jpg">

va devenir

<img src="https://static1.website.com/images.img1.jpg">

Sous le capot, les deux fichiers pointent le même fichier sur le même serveur dans le même dossier, mais cela me permettra de paralléliser les téléchargements sans avoir à dépenser de l'argent. Quel est l'inconvénient de faire cela, car cela me semble parfaitement logique?

Si pointer les sous-domaines sur le même serveur peut paralyser Apache ou quelque chose du genre, pourquoi ne puis-je plutôt louer un deuxième serveur, installer Apache ici, stocker toutes mes images sur ce serveur et pointer quelques sous-domaines différents vers ce serveur? Je peux ensuite externaliser la diffusion d’images et utiliser 5 sous-domaines différents si je le souhaite. Ce n'est pas un CDN bien sûr, mais cela semble être un moyen peu coûteux d'accélérer le chargement des pages sans compliquer les choses avec les CNAME et les fournisseurs de CDN.

4
Dan Hastings

Oui, c'est une solution parfaitement valide au problème. Elle couvre également la recommandation de vitesse "utiliser un domaine sans cookie pour les actifs statiques", si elle est configurée correctement. Cela n'augmentera pas la charge du serveur, car les demandes sont traitées par le même serveur dans les deux cas.

Cela facilite également le déplacement ultérieur vers/depuis les CDN, car vous pouvez modifier ce nom d’hôte pour qu’il pointe vers le CDN sans avoir à modifier vos modèles (tant que les chemins correspondent).

Les limites de connexion actuelles par navigateur sont disponibles ici: https://www.browserscope.org/?category=network (recherchez "Connexions par nom d’hôte"). Les données pour Chrome semblent être manquantes, mais je crois qu’elles en prenaient jusqu’à 6.

5
Tim Fountain