Por que tantos sites grandes e pequenos insere arquivos estáticos (CSS, imagens, JavaScript, ECC) em um subdomínio como media.example.com
ou s2.static.example.com
?
Quais são as vantagens? Por que não apenas um diretório como example.com/media/
?
Vejo pelo menos três possíveis (boas) razões:
Isso é o que é feito no StackOverflow, se bem me lembro
A principal razão que eu acho, é para cookies.
Os cookies serão enviados junto com todas as solicitações , digamos que você tenha 2kb de dados e carregue 20 imagens em uma página.
São 40kb extras de dados, multiplique pelo número de visualizações de página que você tem em um mês e você poderá se surpreender com a quantidade de largura de banda que perdeu em algo inútil, e a largura de banda não é gratuita ...
Além disso, os cookies configurados no domínio de nível superior são enviados a todas as solicitações feitas a qualquer subdomínio; nesses casos, é recomendável comprar um novo domínio para hospedar os componentes estáticos, em um domínio sem cookies .
Por exemplo, StackOverflow usa sstatic.net
, Yahoo usa yimg.com
, YouTube usa ytimg.com
, Amazon usa images-amazon.com
, etc.
Dê uma olhada nisso:
Para adicionar algumas das respostas acima: alguns navegadores da Web podem baixar apenas dois arquivos simultaneamente de qualquer domínio.
Servir conteúdo estático de um nome de host diferente (ou nomes - por exemplo a.domain
, b.domain
, c.domain
) permite que esses navegadores antigos para importar mais arquivos em paralelo.
... use domínios sem cookies para componentes.
Quando o navegador solicita uma imagem estática e envia cookies juntamente com a solicitação, o servidor não tem nenhum uso para esses cookies. Portanto, eles apenas criam tráfego de rede sem uma boa razão. Você deve garantir que os componentes estáticos sejam solicitados com solicitações sem cookies. Crie um subdomínio e hospede todos os seus componentes estáticos lá.
Este aviso foi retirado das Melhores práticas do Yahoo para acelerar o seu site .
Só porque sua solicitação http será menor e o servidor executará rapidamente e o arquivo solicitado será fornecido em um tempo muito pequeno, o que resultará no carregamento da página mais rápido