Ter vários nomes de host nos URLs costumava ser muito importantes. Houve principalmente 2 razões, que se seguem. Mas hoje eu diria que muitas vezes não é tão importante.
As razões são / costumavam ser:
-
Compartilhamento (um termo sobrecarregado): navegadores mais antigos só abririam 2 conexões por nome de host. Assim, se todas as HTML, CSS, JS & Os arquivos IMG foram recuperados de
www.company.com
, em seguida, o navegador baixaria no máximo dois arquivos a qualquer momento. O uso de vários nomes de host em URLs internos, ou seja,http://www.company.com
eshard1.company.com
eshard2.company.com
acelerariam os downloads. Isso não é mais importante, porque todos os navegadores modernos usam 8 ou mais conexões paralelas por nome de host. -
Subdomínios Cookieless: Assumindo que
www.company.com
define um número de cookies para coisas como estado de login e análise, existe um pequeno benefício de desempenho para servindo arquivos estáticos de um domínio sem cookies , por exemplo,static-files.company.com
. Isso ainda é válido hoje e ainda é útil - mas é uma otimização menor. Os cookies são geralmente muito pequenos, e o tempo necessário para transmiti-los é baixo, mas é claro que tudo se soma.
O livro clássico que deu a notícia sobre isso é "Sites de Alto Desempenho", de Steve Souders . Algumas das recomendações específicas do livro são um pouco antigas, mas ainda são a melhor introdução geral à engenharia de desempenho frontend que existe.