Neden bir alt etki alanına statik dosyalar (CSS, resimler, JavaScript, ECC) eklediniz?


29

Neden bu kadar büyük ve küçük siteler, media.example.comveya gibi bir alt alana statik dosyalar (CSS, resimler, JavaScript, ECC) ekliyor s2.static.example.com?

Avantajları nelerdir? Neden sadece bir dizin değil example.com/media/?

Yanıtlar:


24

En az üç olası (iyi) sebep görüyorum:

  • Statik içeriği sunmak için başka bir makine kullanın
    • Bazı CDN'ler dahil
  • Statik içerik sunmak için başka bir web sunucusu kullanın
    • Daha hafif ve daha hızlı bir şey
    • Statik içerik sunmak için tam bir PHP / .NET / JAVA sunucusuna gerek yok!
  • Başka bir etki alanı adı kullanmak, ana etki alanında kullanılan çerezlere sahip olamayacağınız anlamına gelir.

Doğru hatırlıyorsam, StackOverflow'ta yapılan şey bu.


15

Sanırım birincil neden, çerezler için.

Her istekle birlikte çerezler gönderilir , diyelim ki 2kb çerez verisine sahipseniz ve bir sayfaya 20 resim yüklediniz.

Bu fazladan bir 40kb veri, bir ayda aldığınız sayfa görüntüleme sayısıyla çarpın ve işe yaramaz bir şeyde ne kadar bant genişliği kaybettiğinize şaşırmış olabilirsiniz ve bant genişliği ücretsiz değil ...

Ayrıca, üst düzey etki alanında ayarlanan çerezler, herhangi bir alt etki alanına yapılan tüm isteklere gönderilir, bu durumlarda, çerez içermeyen bir etki alanında bulunan statik bileşenleri barındırmak için yeni bir etki alanı satın almanız bile önerilir .

Örneğin, StackOverflow kullanır sstatic.net, Yahoo kullanır yimg.com, YouTube kullanır ytimg.com, Amazon kullanır images-amazon.comvb.

Şuna bir bak:


8

Yukarıdaki cevapların bazılarına eklemek için: bazı web tarayıcıları herhangi bir etki alanından aynı anda yalnızca iki dosyayı indirebilir.

- (örn veya isimler farklı bir konak adından statik içerik sunma a.domain, b.domain, c.domainbu eski tarayıcılar paralel olarak daha fazla dosya indirmek için izin verir).


2

... bileşenler için çerez içermeyen alanlar kullanın.

Tarayıcı statik bir görüntü için istek yaptığında ve istekle birlikte çerez gönderdiğinde, sunucu bu çerezleri kullanmaz. Bu yüzden sadece iyi bir sebep olmadan ağ trafiğini yaratıyorlar. Statik bileşenlerin, çerez içermeyen taleplerde talep edildiğinden emin olmalısınız. Bir alt etki alanı oluşturun ve tüm statik bileşenlerinizi orada barındırın.

Bu tavsiye, Yahoo Web Sitenizi Hızlandırmak İçin En İyi Uygulamalarından alınmıştır .


0

Sırf http isteğiniz daha küçük olacak ve sunucu hızlı çalışacak ve istenen dosya çok küçük bir sürede verilecek ve bu da sonuçta en hızlı sayfa yüklenmesine yol açacaktır.


Bu, diğer cevapların zaten söylemediği bir şey eklemez. İsteğin neden daha küçük olduğunu bilmiyorsunuz (çerezler olmadığı için), bu nedenle bu cevap diğerlerinden daha kötü.
Stephen Ostermiller
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.