Bu bazıları için açık olabilir, ama merak ediyorum: Neden sitem için jQuery barındırmak için Google'ın sunucusuna güvenmeliyim?
Sadece bu şekilde daha hızlı yüklendiği için mi?
Bu bazıları için açık olabilir, ama merak ediyorum: Neden sitem için jQuery barındırmak için Google'ın sunucusuna güvenmeliyim?
Sadece bu şekilde daha hızlı yüklendiği için mi?
Yanıtlar:
Bunun nedeni ise:
Eğer olabilecek birkaç senaryo vardır değil Google'ın CDN dan jQuery kullanmak istiyorum:
Web sunucusunun istemcilerle aynı ağda barındırıldığı bir intranet uygulaması oluştururken. Google'ın CDN jQuery yazılımını kullanıyorsanız, yerel ağdaki bir web sunucusu yerine İnternet'i arayacaksınız. Bu, kuruluşunuz için bant genişliğini artırır ve daha yavaştır.
Uygulamanızı çevrimdışı çalıştırmak istediğinizde . (İlk sayıya oldukça bağlı) Bir geliştirme ortamında çalışmanız gerekiyorsa (örneğin Bower ile yönetilir ), uygulamanızı herhangi bir internet bağlantısı olmadan çalıştırabilmeniz gerekebilir (örn: bir trende :)
Özelleştirmeniz gerektiğinde . Örneğin , yalnızca belirli modülleri kullanmak veya AMD adını ayarlamak amacıyla kitaplığı oluşturmak için Grunt kullanıyorsanız
JQuery gerektiren sayfaları SSL üzerinden sunarken. Güvenlik sorunlarını ve uyarılarını önlemek için JavaScript'i SSL üzerinden ve sayfanızda sunmalısınız.
Ayrıca, Microsoft CDN'lerinde jQuery barındırır . Bu, Google'ın barındırdığı jQuery ile karşılaştırılabilecek başka bir seçenektir.
src="//ajax.googleapis.com/..."
, iş.
TJ VanToll tarafından yapılan bu çalışma , jQuery'yi bir CDN'den yüklemek yerine diğer komut dosyalarıyla birleştirmenin daha iyi olduğuna ikna etti.
Nedeni, mobil cihazlarda jQuery getirilmesinde yer alan gecikme süresidir:
"2012'de Amerika Birleşik Devletleri'nde bir mobil ağdaki ortalama RTT süresi 344 ms idi. Ve 344 msn, yalnızca ortalama web sayfasının 93'ü yaptığı her HTTP isteği için değil, aynı zamanda her DNS araması ve TCP bağlantısı için de geçerli ... Ortalama RTT'ler gelişirken, mevcut ağlar fizik tarafından belirlenen teorik sınırın küçük bir faktörü içinde olduğundan, yalnızca küçük ek kazançlar elde edilebilir. "
O da değinir Bu yayını gösterir neden aslında olduğun Steve Souders gelen önbelleğe alma faydayı elde etmek olası bir CDN kullanarak:
"CDN sağlayıcılarındaki, jQuery sürümlerindeki ve protokol kullanımındaki (http ve https) parçalanma nedeniyle, CDN önbellek isabet şansı şaşırtıcı derecede düşüktür - ve harici bir alandan indirme işlemi bir değil üçünü gerçekleştirme potansiyeline sahiptir gidiş-dönüş (bir DNS araması, bir TCP bağlantısı ve bir HTTP GET). "
En büyük fayda önbelleklemedir. Teori şu ki, bir ziyaretçi JavaScript kitaplıklarını yükleyen bir siteyi ziyaret ederse, örneğin Google CDN'den jQuery deyin, o zaman web sitenizi ziyaret ettiklerinde, kitaplık zaten kullanıcının tarayıcı önbelleğinde olur ve tekrar indirilmesi gerekmez . Bu teoride harika görünüyor.
Burada ve başka yerlerde paylaşılan faydaların hepsi teoriktir. CDN kullanımının ve beklenen performans avantajlarını sağlayıp sağlamadığını derinlemesine analiz ettim. http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits
Google'ın, birçok insanın düşünmediği jQuery'nizi barındırmasına izin vermemenin önemli bir nedeni, Çin'deyseniz indirilmemesidir. Google CDN'leri tarafından barındırılan diğer birçok komut dosyası, yazı tipi vb. İle birlikte engellendi. Çinli bir kitleye ulaşmanız gerekiyorsa, her zaman kendi sunucunuzda barındırılan bir geri dönüşü kullanmak en iyisidir. Google APIS Çin'de Engellendi
"Neden yapmamalısın ..." ve "Neden yapmamalısın ..."
Bir CDN'den jQuery yüklemek istiyorsanız Google'a bir alternatifler listesi eklemek istiyorum.
Ancak özetlemek gerekirse, temel olarak genel web sitesi / uygulama performansınızı geliştiriyorsunuz.
CDN'yi bir Servis Çalışanı ile kullanın, CDN'yi her kod güncellemenizde değil, istemci yaşamında bir kez indirebilirsiniz.