2010-09-30 12 views
62

हम वर्तमान में Google सीडीएन से jQuery और jQueryUI (और jQueryUI सीएसएस) पुस्तकालय खींच रहे हैं। मुझे यह पसंद है क्योंकि मैं google.load("jquery", "1");
और नवीनतम jQuery 1.x.x का उपयोग कर सकता हूं।लाभ बनाम jQuery की मेजबानी की समस्याएं स्थानीय रूप से

अब मैं सुरक्षा के कारण स्थानीय रूप से लाइब्रेरी खींच रहा हूं।

मुझे स्थानीय रूप से खींचने में खुशी है, लेकिन मुझे आश्चर्य है कि कुछ अन्य लाभ और नुकसान देखने के लिए क्या हैं?

+5

हम किस सुरक्षा मुद्दे के बारे में बात कर रहे हैं? – Ascherer

+0

मैंने नहीं पूछा। मुझे लगता है कि यह इतना सुरक्षा नहीं है लेकिन फायरवॉलिंग जीमेल इत्यादि द्वारा बैंडविड्थ को नियंत्रित करने की कोशिश कर रहा है – orolo

उत्तर

84

उन्हें सीडीएन पर रखने का मुख्य लाभ यह है कि फ़ाइलों को अपनी वेबसाइट से डाउनलोड की गई फ़ाइलों के समानांतर में डाउनलोड किया जा सकता है। इससे प्रत्येक पृष्ठ पर विलंबता कम हो जाती है। तो, इसका फ्लिप पक्ष स्थानीय रूप से होस्टिंग का एक झटका है - विलंबता बढ़ा दी गई है। इसका मुख्य कारण यह है कि ब्राउज़र एक ही समय में उसी वेब डोमेन पर कनेक्शन की संख्या में सीमित हैं। आईई 6 में यह उसी डोमेन के 2 समवर्ती कनेक्शनों के लिए डिफ़ॉल्ट था - आईई की सभी खुली खिड़कियों के बीच साझा किया गया !! आईई 8 + में यह सुधार हुआ, 6 तक डिफॉल्ट, जो एफएफ/क्रोम के साथ इनलाइन है, लेकिन फिर भी, यदि आपके पास बहुत सारी छवियां हैं और आप स्प्राइट्स का उपयोग नहीं कर रहे हैं, तो आपको भारी विलंबता का अनुभव होगा।

एक सीडीएन का उपयोग करके, मैं हमेशा नवीनतम संस्करण प्राप्त करने के बजाय पुस्तकालय संस्करण को स्पष्ट रूप से सेट करता हूं। इससे आपके कोड को तोड़ने वाले नए संस्करणों का खतरा कम हो जाता है। JQuery के साथ बहुत संभावना नहीं है, लेकिन संभव है।

सीडीएन का उपयोग करने का दूसरा मुख्य लाभ आपकी साइट पर कम यातायात है। यदि आप प्रति जीबी का भुगतान करते हैं या आप सीमित संसाधनों वाले वर्चुअल सर्वर पर हैं, तो आप पाएंगे कि समग्र साइट प्रदर्शन बढ़ता है और जब आप अपनी कुछ सामग्री सार्वजनिक सीडीएन में खेती करते हैं तो होस्टिंग लागत कम हो जाती है।

सुनिश्चित करें कि आप @revaxarts द्वारा इस प्रश्न का अन्य उत्तर भी पढ़ लें। यह एक बहुत अच्छा चाल

+4

लाइब्रेरी संस्करण को स्पष्ट रूप से सेट करने का एक अन्य लाभ यह है कि Google इसे लंबे कैश का समय देता है, उदाहरण के लिए 1.9.1 निर्दिष्ट करना कैश जीवनकाल देगा बस 1.9 का अनुरोध (एक नया jQuery 1.9 संस्करण जारी किया जा सकता है लेकिन 1.9.1 हमेशा एक ही होगा)। – Barry

11

गूगल CDN है:

  • कैशिंग, प्रदर्शन के लिए अच्छा है, और अधिक उपयोगकर्ताओं को यह पहले से ही होने की संभावना है, और यह समानांतर
  • में डाउनलोड करता है अगर कभी, कुली cdn न करे नीचे चला जाता है। तुम तो गए।
  • एक नया संस्करण अपने मौजूदा प्लग इन या साइट ब्रेक होती है, आप इसके बारे में संभवतः बहुत देर हो चुकी

स्थानीय रूप से पता चल जाएगा: शुद्ध से जुड़े होने के बिना

  • विकास संभव है
  • कर सकते हैं gzipping द्वारा अभी भी कुछ प्रदर्शन लाभ प्राप्त करें,
+5

हालांकि Google के सीडीएन से आप जो jquery लोड करते हैं वह कम हो जाता है। सीडीएन का उपयोग करने के लिए एक और प्लस यह आपकी निर्देशिका संरचना के लिए क्लीनर है :) – Ascherer

120

को छोटा करने के अलावा मैं हमेशा Google से सीडीएन का उपयोग करता हूं।लेकिन अभी मामले में यह ऑफ़लाइन है:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
<script>!window.jQuery && document.write('<script src="jquery-1.4.2.min.js"><\/script>')</script> 

ले लो गूगल CDN के jQuery और स्थानीय पर वापस आने यदि आवश्यक हो तो

संपादित: आप IE6 समर्थन करने के लिए की जरूरत नहीं है और अपनी साइट आंशिक https उपयोग आप है साथ ही http निकाल सकते हैं:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> 
+4

समुदाय को क्रेडिट: http://stackoverflow.com/questions/1014203/best-way-to-use-googles-hosted-jquery-but -फॉल-टू-टू-माय-होस्टेड-लाइब्रेरी-ऑन-गो – oucil

+9

XVIDEOS अब इस समाधान का उपयोग करता है: पी –

+0

इस उत्तर को देखने वाले किसी भी व्यक्ति के लिए, यह '

3

वस्तुतः हर तरह से आप इसे देख, गूगल की CDN का उपयोग कर एक अच्छी बात है की सेवा की दिशा में जाने के लिए नहीं होगा।

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

एकमात्र कारण जिसका आप उपयोग नहीं करना चाहते हैं, यदि आप Google पर भरोसा नहीं करते हैं। इसका उपयोग करके, आप प्रभावी रूप से Google को अपनी साइट की यातायात प्रोफ़ाइल में जानकारी की एक अतिरिक्त विंडो दे रहे हैं, जिसमें उन URL के ज्ञान शामिल हैं जिन्हें आप अन्यथा सार्वजनिक नहीं करना चाहते हैं (उदाहरण के लिए आपकी साइट के सुरक्षित क्षेत्र)।

यदि आप सुरक्षा के बारे में भद्दा हैं तो यह आपको पर्याप्त रूप से उपयोग करने के लिए पर्याप्त हो सकता है कि आप उनका उपयोग न करें (आखिरकार, इसे स्वयं होस्ट करना बिल्कुल आपकी साइट को क्रॉल पर धीमा करने वाला नहीं है), लेकिन आम तौर पर अधिकांश लोग व्यावहारिक दृष्टिकोण लें कि Google पहले से ही अपनी साइट के बारे में पर्याप्त जानता है कि इससे जोड़ने से इससे कोई फर्क नहीं पड़ता है।

10

मैं अपने स्थानीय संस्करण का उपयोग करना पसंद करता हूं, क्योंकि मेरे पास उनके द्वारा प्रदान किए जाने वाले कार्यों के बारे में नियंत्रण नहीं है। उदाहरण के लिए मैं नहीं चाहता कि मेरे उपयोगकर्ता google-analytics या कुछ भी इसी तरह से प्रभावित हों, क्योंकि यह मेरे देश में एक कानूनी समस्या है।

15

अन्य ने लाभ शामिल किए हैं। नुकसान:

  • आप केवल अपने स्वयं के सर्वर से सामग्री शामिल हैं, तो यह है कि एक सर्वर है कि जरूरत होने के लिए चल रहा है-और नहीं फायरवॉल द्वारा अवरुद्ध अपनी साइट काम करने के आदि-करने के लिए। किसी तृतीय पक्ष से स्क्रिप्ट खींचें और अब यह दो सर्वर हैं जिन्हें आपकी साइट को काम करने के लिए चलाने और अनब्लॉक करने की आवश्यकता है।

  • कोई भी साइट जो आप खींचते हैं <script> आपकी साइट पर उपयोगकर्ता के अनुभव को पूरी तरह से नियंत्रित कर सकती है। अगर Google बुरा महसूस कर रहा था तो वे आपके कीप्रेस को लॉग इन करने के लिए jQuery की अपनी प्रतिलिपि में कुछ डाल सकते थे, जिस पृष्ठ पर आप अपने वेब ट्रैकिंग डेटाबेस में जुड़ने के लिए पेज से व्यक्तिगत जानकारी चुरा सकते हैं, आपको "मैं Google से प्यार करता हूं!" पोस्ट करता हूं , और इसी तरह।

गूगल शायद वास्तव में है कि क्या करने जा रहा नहीं कर रहे हैं, लेकिन यह एक कारक अपने नियंत्रण से बाहर अन्य स्क्रिप्ट-होस्टिंग सेवाओं के साथ के बारे में चिंता करने के लिए कुछ है, और निश्चित रूप से है कि है। मैलवेयर लोडर के साथ आंकड़े स्क्रिप्ट को समझौता करने से पहले ऐसी घटनाएं हुई हैं।

अपने की एक तीसरी पार्टी-भी पर एक ही पृष्ठ से किसी भी स्क्रिप्ट सहित इससे पहले कि साइट-आप चाहिए 100% सभी उपयोगकर्ता के सुलभ कार्यक्षमता कि होस्ट नाम पर दिखाई के साथ उन्हें विश्वास (वेब ​​का सामना करना पड़ व्यवस्थापक कार्यों सहित)।

+14

Google ऐसा नहीं करेगा ... मैं GOOGLE से प्यार करता हूं ... क्या वे? : -पी – JasCav

+1

सुरक्षा मुद्दों के बारे में उत्कृष्ट अंक। – Naltroc

+4

[बिंदु 2 को इंगित करने के लिए समाधान] (https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) – MayorMonty

0

मेरे लिए यह वास्तव में इस बात पर निर्भर करता है कि आप कितना नियंत्रण चाहते हैं। यदि आप मेरे जैसे हैं और काम करते समय और यात्रा करते समय स्थानीय मेजबान पर विकसित होने की जरूरत है। Jquery फ़ाइलों को स्थानीय होने पर Google या अन्य जगह पर होस्ट होने से बेहतर होता है।

संबंधित मुद्दे