Sobes.tech
Middle

Fale sobre os diferentes domínios utilizados para servir conteúdo estático.

sobes.tech IA

Resposta da IA

O uso de domínios diferentes para conteúdo estático é uma prática comum para otimizar o carregamento e melhorar o desempenho do site. As principais razões incluem:

  • Downloads paralelos: Os navegadores têm uma limitação no número de conexões simultâneas a um mesmo domínio. Usar domínios diferentes para conteúdo estático permite contornar essa limitação e carregar mais recursos em paralelo.
  • Domínios de cookies separados: O conteúdo estático muitas vezes não requer o envio de cookies com cada pedido. Usar um domínio separado sem cookies reduz o tamanho dos cabeçalhos da requisição e acelera o carregamento.
  • Caching: A separação de domínios permite gerir de forma mais flexível o cache do conteúdo estático através de cabeçalhos de resposta, como Cache-Control.
  • CDN (Content Delivery Network): As redes CDN fornecem conteúdo a partir de servidores geograficamente próximos do utilizador, o que reduz a latência. Usar um domínio separado para a CDN facilita a sua integração.

Abordagens típicas para nomear domínios para conteúdo estático:

  1. Subdomínios do domínio principal:

    • static.exemplo.com
    • cdn.exemplo.com
    • assets.exemplo.com
  2. Domínios completamente separados:

    • exemplostatic.com
    • exemploassets.net

Exemplo de configuração Nginx para servir conteúdo estático a partir de um subdomínio:

server {
    listen 80;
    server_name static.exemplo.com; // Usar um domínio separado

    root /var/www/exemplo.com/static; // Especificar a raiz para conteúdo estático

    # Configuração de cabeçalhos de cache
    location ~* \.(css|js|jpg|jpeg|gif|png|svg|webp|ico|woff2|woff|ttf|otf)$ {
        expires max;
        add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    }

    # Desativar registo de acesso
    access_log off;

    # Desativar envio de cookies
    proxy_set_header Cookie "";
}

O uso de um domínio separado para conteúdo estático é uma prática comum para melhorar o desempenho de aplicações web.