मुझे jQuery के लिए Google की CDN का उपयोग क्यों करना चाहिए?


169

यह कुछ के लिए स्पष्ट हो सकता है, लेकिन मुझे आश्चर्य हो रहा है: मुझे अपनी साइट के लिए jQuery की मेजबानी करने के लिए Google के सर्वर पर निर्भर क्यों होना चाहिए ?

क्या यह केवल इसलिए है क्योंकि यह इस तरह से तेजी से लोड होता है?



2
कोई भी उल्लेख नहीं करता है कि Google की नीति उनकी जेएस फाइलों को हॉटलिंक करने पर थी (हॉटमेलिंग आमतौर पर दी जाती है), इसलिए URL में Google का उल्लेख जहां यह ठीक है और वे उन पुस्तकालयों के बारे में बताते हैं जिनकी वे मेजबानी करते हैं: code.google.com/apis-ajaxlibs/ प्रलेखन / index.html
Loftx


1
कई उपयोगकर्ता पहले ही किसी अन्य साइट पर जाने पर Google या Microsoft से jQuery डाउनलोड कर चुके हैं। नतीजतन, यह आपकी साइट पर जाने पर कैश से लोड किया जाएगा, जो तेजी से लोडिंग समय की ओर जाता है
एमिनएम

आपको Microsoft या Google का उपयोग नहीं करना चाहिए। MaxCDN का उपयोग करें। कैश हिट होने की बहुत अधिक संभावना है, जो यहां सबसे महत्वपूर्ण बात है। blog.jquery.com/2014/01/14/…
0fnt

जवाबों:


393

यह है क्योंकि:

  1. यह उपलब्ध समानता को बढ़ाता है।
    (अधिकांश ब्राउज़र किसी भी साइट से एक समय में केवल 3 या 4 फाइलें डाउनलोड करेंगे।)

  2. यह मौका बढ़ाता है कि कैश-हिट होगा।
    (जैसा कि अधिक साइटें इस अभ्यास का अनुसरण करती हैं, अधिक उपयोगकर्ताओं के पास पहले से ही फ़ाइल तैयार है।)

  3. यह सुनिश्चित करता है कि पेलोड जितना संभव हो उतना छोटा होगा।
    (Google फ़ाइल को एक विस्तृत सरणी स्वरूपों (जैसे GZIP या DEFLATE) में पूर्व-संपीड़ित कर सकता है। यह समय-से-डाउनलोड को बहुत छोटा बनाता है, क्योंकि यह सुपर संपीड़ित है और यह मक्खी पर संपीड़ित नहीं है।)

  4. यह आपके सर्वर द्वारा उपयोग किए जाने वाले बैंडविड्थ की मात्रा को कम करता है।
    (Google मूल रूप से मुफ्त बैंडविड्थ की पेशकश कर रहा है।)

  5. यह सुनिश्चित करता है कि उपयोगकर्ता को भौगोलिक रूप से करीबी प्रतिक्रिया मिलेगी।
    (Google के पास दुनिया भर में सर्वर हैं, और विलंबता को कम कर रहे हैं।)

  6. (वैकल्पिक) वे स्वचालित रूप से आपकी स्क्रिप्ट को अद्यतित रखेंगे।
    (यदि आप "अपनी पैंट की सीट से उड़ना पसंद करते हैं," तो आप हमेशा किसी भी स्क्रिप्ट के नवीनतम संस्करण का उपयोग कर सकते हैं जो वे प्रदान करते हैं। ये सुरक्षा छेद को ठीक कर सकते हैं, लेकिन आम तौर पर बस अपना सामान तोड़ सकते हैं।)

10
मैं प्यार करता हूँ कि आप कैसे और अधिक कारणों के साथ आते रहते हैं। अकेले उस के लिए +1।
माचिस

6. Googles सर्वर शायद आपकी तुलना में तेज़ हैं! मुझे यकीन नहीं है कि बिंदु 3 वास्तव में प्रासंगिक है क्योंकि कोई भी Google और साथ ही Google को भी छोटा कर सकता है। एक महान जवाब के लिए +1 :)
पॉल क्रीज

1
मुझे लगता है कि # 3 को शायद gzip और इस तरह से अधिक करना है, क्योंकि jQuery पहले से ही एक छोटा संस्करण देता है।
मैचु

2
भगवान हर कोई मुझ पर हमला कर रहा था, मैंने सिर्फ अपने विचारों को भेजा, और स्वीकार किया गया, LOL
फ़रहाद

1
@ फरशाद: आप पर हमला नहीं, स्वीकार किए गए जवाब पर हमला करना, जो अगले उत्तर के रूप में अच्छा नहीं था। जिस तरह से समुदाय क्यू एंड ए काम करता है। अगली बार अपने उत्तर को थोड़ा और अधिक पेशेवर रूप देने का प्रयास करें, और उपयोगी, रचनात्मक प्रकार के प्रश्न की आलोचना को सीमित करें।
जोएल

58

जब आप Google के CDN से jQuery का उपयोग नहीं करना चाहते हैं तो कई परिदृश्य हैं :

  1. जब आप इंट्रानेट एप्लिकेशन का निर्माण कर रहे होते हैं, जहां वेब सर्वर क्लाइंट के समान नेटवर्क पर होस्ट किया जाता है। यदि आप Google के CDN jQuery का उपयोग करते हैं, तो आप स्थानीय नेटवर्क पर वेबसर्वर के बजाय इंटरनेट पर कॉल करेंगे। यह आपके संगठन के लिए बैंडविड्थ बढ़ाता है, और धीमा है।

  2. जब आप अपना एप्लिकेशन ऑफलाइन चलाना चाहते हैं । (पहले मुद्दे से काफी जुड़ा हुआ है) यदि आपको एक विकास के माहौल पर काम करने की आवश्यकता है ( बोवर के साथ उदाहरण के लिए प्रबंधित ), तो आपको किसी भी इंटरनेट कनेक्शन के बिना अपना आवेदन कार्य करने में सक्षम होने की आवश्यकता हो सकती है (जैसे: ट्रेन में :)

  3. जब आपको इसे कस्टमाइज़ करना हो । उदाहरण के लिए यदि आप लाइब्रेरी का निर्माण करने के लिए केवल कुछ मॉड्यूल का उपयोग करने या एएमडी नाम सेट करने के लिए ग्रंट का उपयोग करते हैं

  4. जब आप SSL पर पृष्ठों की सेवा कर रहे हों, जिसके लिए jQuery की आवश्यकता हो। सुरक्षा समस्याओं और चेतावनियों से बचने के लिए आपको SSL पर SSL के साथ-साथ अपने पेज पर भी काम करना चाहिए।

इसके अलावा, Microsoft अपने CDN पर jQuery होस्ट करता है । यह Google के होस्ट किए गए jQuery का उपयोग करने के लिए तुलनीय एक और विकल्प है।


35
बस एक FYI करें कि आप होस्ट किए गए जावास्क्रिप्ट पुस्तकालयों के एसएसएल संस्करण की सेवा के लिए Google के सर्वर का उपयोग कर सकते हैं। ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js काम करता है।
हारून वैगनर

जानकर अच्छा लगा, हारून। धन्यवाद।
लांस फिशर

3
Microsoft का उल्लेख करने के लिए +1। गूगल हो जाता है जिस तरह से बहुत ज्यादा श्रेय imo।
हाँ बैरी

7
FYI करें: योजना संबंधी हाइपरलिंक, जैसे src="//ajax.googleapis.com/...", काम।
जॉन गित्जन

3
और यह भी cndjs पर विचार
ब्राइस

29

इस अध्ययन से टीजे VanToll ने मुझे आश्वस्त किया है कि यह अन्य के बजाय एक CDN से यह लोड स्क्रिप्ट के साथ jQuery श्रेणीबद्ध करने के लिए बेहतर है।

इसका कारण मोबाइल उपकरणों पर jQuery लाने में शामिल विलंबता है:

"2012 में संयुक्त राज्य अमेरिका में एक मोबाइल नेटवर्क पर आरटीटी का औसत 344ms था। और यह कि 344ms न केवल हर HTTP अनुरोध पर लागू होता है - जो कि अब औसत वेब पेज 93 बनाता है - लेकिन हर DNS लुकअप और टीसीपी कनेक्शन ... जबकि औसत आरटीटी में सुधार हो रहा है, केवल कुछ अतिरिक्त लाभ होने की संभावना है, क्योंकि वर्तमान नेटवर्क भौतिकी द्वारा निर्धारित सैद्धांतिक सीमा के एक छोटे कारक के भीतर हैं। "

वह स्टीव सौडर्स के इस पोस्ट का भी हवाला देते हैं, जिससे पता चलता है कि सीडीएन का उपयोग करने से आपको वास्तव में कैशिंग लाभ प्राप्त होने की संभावना नहीं है :

"CDN प्रदाताओं, jQuery संस्करणों और प्रोटोकॉल के उपयोग (http बनाम https) में विखंडन के कारण, CDN कैश हिट होने की संभावना बेहद कम है - और बाहरी डोमेन से डाउनलोड करने की क्षमता एक नहीं, बल्कि तीन प्रदर्शन करने की है। दौर यात्राएं (एक DNS लुकअप, एक टीसीपी कनेक्शन और एक HTTP जीईटी)। "


3
यह HTTP2 और SPDY के लिए अधिक सही नहीं है। आज आप अपने सभी बाहरी संसाधनों को CDN जैसे Cdnjs.com या कुछ और में होस्ट कर सकते हैं और सभी फाइलें उसी अनुरोध का उपयोग करके डाउनलोड की जाएंगी। यह मूल रूप से समवर्ती के समान है।
रिकार्डो पोलो जरामिलो

13

सबसे ज्यादा फायदा कैशिंग से होता है। सिद्धांत यह है कि यदि कोई विज़िटर किसी ऐसी साइट पर जाता है जो अपने जावास्क्रिप्ट पुस्तकालयों को लोड कर रहा है, तो Google सीडीएन से उदाहरण के लिए jQuery कहें, तो जब वे आपकी वेबसाइट पर जाते हैं, तो लाइब्रेरी पहले से ही उस उपयोगकर्ता के ब्राउज़र कैश में है और उसे फिर से डाउनलोड नहीं करना होगा। । यह सिद्धांत में बहुत अच्छा लगता है।

यहां और अन्य जगहों पर साझा किए जा रहे लाभ सभी सैद्धांतिक हैं। बस एक सीडीएन का उपयोग करने का गहराई से विश्लेषण किया गया था और यदि यह अपेक्षित प्रदर्शन लाभ प्रदान करता है। http://www.root777.com/appdev/does-using-google-libraries-api-cdn-give-you-performance-benefits


यह उत्तर स्थूल रूप से कमतर है। यह ऊपर दिए गए "समर्थक" स्वीकृत उत्तर के समान समान रूप से मान्य "विपक्ष" प्रदान करता है।
थॉमस वाना

@ user239558 यह लिंक मृत नहीं होगा यदि अध्ययन के लेखक ने वास्तव में एक CDN ;-) का उपयोग किया है; त्रुटि है: [function.require]: स्ट्रीम खोलने में विफल: ऐसी कोई फ़ाइल या निर्देशिका / होमपेज़ / 41/22299999437 में नहीं /htdocs/wp-content/themes/prose/functions.php
jplandrain

लेख अच्छी तरह से सोचा नहीं है। यह कहता है कि Google CDN द्वारा सभी पृष्ठों पर लगभग 0.5% कम से कम सामान्य jQuery के कार्य परोसे जाते हैं। एक सामान्य ब्राउज़िंग सत्र के दौरान मैं पृष्ठों के भार का दौरा करता हूं, विशेष रूप से उन साइटों के लिंक जो उदाहरण के लिए इसे होस्ट करता है। या ब्लॉग साइट्स। मैं आसानी से एक दिन में 30 अद्वितीय साइटों पर जाता हूं, एक हफ्ते के बाद इसे कैश न करने की संभावना बहुत पतली है। यद्यपि यह आपके सभी उपयोगकर्ता के लिए कैश नहीं किया जा सकता है, जो लोग इंटरनेट का व्यापक उपयोग करते हैं, लगभग हमेशा उन्हें कैश किया जाएगा, क्योंकि वे कुल मिलाकर 1 से अधिक अद्वितीय डोमेन पर जाते हैं।
इतियाकापी

8

Google को आपके jQuery की मेजबानी नहीं करने का एक प्रमुख कारण, एक ऐसा जिसके बारे में बहुत से लोग नहीं सोचते हैं, वह यह है कि यदि आप चीन में हैं तो यह डाउनलोड नहीं होगा। यह कई अन्य स्क्रिप्ट, फोंट आदि के साथ अवरुद्ध है ... Google सीडीएन द्वारा होस्ट किया गया। यदि आपको चीनी दर्शकों तक पहुंचने की आवश्यकता है, तो आप हमेशा अपने सर्वर पर होस्ट किए गए फ़ॉल बैक का उपयोग कर सकते हैं। Google APIS चीन में अवरुद्ध है


मैं @tmthydvnprt से असहमत हूं। प्रश्न पर विचार किया जाता है, इसलिए जहां से अधिकांश गलती शुरू होती है, लेकिन यह प्रश्न का उत्तर देता है।
गुडबाय StackExchange

1
मैं उसी चीज के लिए यहां आया था। यदि उपयोगकर्ता चीन में हैं, तो Google की अधिकांश चीज़ों को महान फ़ायरवॉल द्वारा अवरुद्ध किया जाता है। हालाँकि, यह संभवतः एक गैर-मुद्दा है क्योंकि चीन में बहुत सारे लोग वीपीएन सेवा का उपयोग करते हैं, और आप शायद वैसे भी चीनी बाजार को लक्षित नहीं करना चाहते हैं।
जस्टिन

0

यहाँ कुछ अच्छे जवाब "आपको क्यों चाहिए ..." और "आपको क्यों नहीं चाहिए ..."

यदि आप CDN से jQuery लोड करना चाहते हैं तो मैं बस Google में विकल्पों की एक सूची जोड़ना चाहता हूं।

लेकिन इसे योग करने के लिए, आप मूल रूप से अपनी समग्र वेबसाइट / एप्लिकेशन प्रदर्शन में सुधार कर रहे हैं।


0

सेवा कार्यकर्ता के साथ CDN का उपयोग करें, आप ग्राहक जीवनकाल में एक बार CDN डाउनलोड कर सकते हैं, और हर बार जब आप अपना कोड अपडेट नहीं करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.