Yorumlara göre güncelleme:
Kısa versiyon: Çok önemli değil, ancak barındırdıklarına bağlı olabilir. Hepsi konak farklı şeyler: Google 2016 yılından bu yana yaptıkları !! Microsoft sunmaktadır değil, ev sahibi jQuery.Validate Microsoft konak jQuery UI vermedi yapar aksi yoluyla hizmet olacağını onların komut ScriptResource.axd
ve daha kolay bir entegrasyon (örn ASP ile ScriptManager'ın. Net 4.0 ).
Önemli Not: Bir intranet uygulaması oluşturuyorsanız, CDN yaklaşımından uzak durun. Bir konum sürece, bunu kimin barındırdığı önemli değil çok içten aşırı sunucunun hiçbir CDN size yerel 100mb daha / 1GB ethernet olacak daha fazla performans verecektir. Tamamen dahili bir uygulama için bir CDN kullanırsanız performanstan zarar görürsünüz . Önbellek süre sonu üstbilgilerinizi doğru şekilde ayarlayın ve yalnızca intranet senaryosunda bulunan CDN'leri yok sayın.
Her ikisinin de bloke olma şansı eşit, neredeyse sıfır gibi görünüyor. Bunun doğru olmadığı sözleşmeler üzerinde çalıştım, ancak bir istisna gibi görünüyor. Ayrıca, bu cevabın orijinal yayını, onu çevreleyen bağlam çok değiştiğinden, Microsoft CDN çok ilerleme kaydetti.
Şu anda üzerinde çalıştığım proje, çözümümüz için en iyi sonucu veren her iki CDN'yi de kullanıyor. Bunun içinde birkaç faktör vardır. Daha eski bir tarayıcıya sahip kullanıcılar, muhtemelen HTTP spesifikasyonu tarafından önerilen şekilde alan başına 2 eşzamanlı istekte bulunuyor . Bu, boru hattını destekleyen (her mevcut tarayıcı) iyi bir şey çalıştıran herkes için bir sorun değildir , ancak başka bir faktöre dayanarak, en azından javascript kadar bu sınırlamayı da ortadan kaldırıyoruz.
Google'ın aşağıdakiler için kullandığımız CDN'si:
Microsoft'un kullandığımız CDN'si:
Sunucumuz:
- Combined.js? V = 2.2.0.6190 (Major.Minor.Iteration.Changeset)
Yapım sürecimizin bir kısmı tüm özel javascript'i birleştirip minimize ettiğinden, bunu yapıya bağlı olarak bu komut dosyalarının yayın veya hata ayıklama (küçültülmemiş) sürümlerini içeren özel bir komut dosyası yöneticisi aracılığıyla yapıyoruz. Google jQuery doğrulama paketini barındırmadığından, bu bir alt taraf olabilir. MVC, 2.0 sürümlerinde bunu içeriyor / kullanıyor, böylece tüm ihtiyaçlarınız için tamamen Microsoft'un CDN'sine güvenebiliyorsunuz ve hepsi ScriptManager aracılığıyla otomatik olarak .
Yapılması gereken diğer tek argüman DNS süreleridir, bunun sayfa yükleme hızı açısından bir maliyeti vardır. Ortalama olarak: Basitçe daha fazla kullanıldığından (daha uzun süredir) ajax.googleapis.com
DNS tarafından daha erken iade edilmesi muhtemeldir ajax.microsoft.com
, çünkü yerel DNS sunucusunun istek alması daha olasıdır (bu, alan cezasında ilk kullanıcıdır) . Bu çok küçük bir şeydir ve yalnızca performans milisaniyeye kadar son derece önemliyse dikkate alınmalıdır.
(Evet: Bu noktanın her iki CDN'yi kullanmamın aksine olduğunu anlıyorum, ancak bizim durumumuzda DNS süresi, ortaya çıkan javascript / engelleme üzerindeki bekleme süresinden çok gölgede kalıyor)
Son olarak, bakmadıysanız , en iyi araçlardan biri Firebug ve bunun için bazı eklentiler: Sayfa Hızı ve YSlow . Bir CDN kullanıyorsanız ancak sayfalarınız önbellek başlığı olmadığından her seferinde görüntü istiyorsa, düşük meyveyi kaçırıyorsunuz demektir. Firebug'un Net paneli hızlı bir şekilde sayfa yükleme sürenizi kısaltabilir ve Page Speed / YSlow size yardımcı olacak bazı iyi önerilerde bulunabilir.