एक अलग डोमेन पर स्थिर संसाधनों की मेजबानी करने का क्या फायदा है?


24

मैंने देखा है कि बहुत सी साइटें अपने संसाधनों को मुख्य साइट से अलग डोमेन पर होस्ट करती हैं, जैसे कि StackExchange का उपयोग करके sstatic.net, Barnes और Noble का उपयोग करके imagesbn.com, आदि।

मैं समझता हूं कि अपने स्थिर संसाधनों को एक अलग होस्ट पर रखने के लाभ हैं, संभवतः एक कुशल स्थिर-फाइल वेब सर्वर के साथ जैसे कि नग्नेक्स, गतिशील सामग्री पर ध्यान केंद्रित करने के लिए मुख्य सर्वर को मुक्त करना। इसी प्रकार, क्लाउडफ्रंट अकामाई जैसी साझा सीडीएन को आउटसोर्सिंग तार्किक है।

हालांकि, एक अलग डोमेन का उपयोग करने से क्या लाभ है, हालांकि? क्यों static.stackexchange.com के बजाय sstatic.net?

अद्यतन : कई उत्तर कोर सवाल याद करते हैं। मैं समझता हूं कि कई मेजबानों के बीच विभाजन करने का लाभ है - समानांतर डाउनलोड, स्लिमर वेब सर्वर, आदि। लेकिन क्या अधिक मायावी है कि कई डोमेन क्यों हैं । साझा संसाधनों के लिए होस्ट के रूप में static.stackexchange.com के बजाय sstatic.net क्यों? अब तक, केवल एक उत्तर ने ही संबोधित किया है।

जवाबों:


22

कई साइटों में बहुत सारे कुकीज़ सेट होते हैं, इन कुकीज़ का उद्देश्य कुछ प्रकार के राज्य का समर्थन करना है।

स्थिर (स्टेटलेस) संसाधनों को पूरी तरह से अलग डोमेन पर रखकर आप http अनुरोधों के आकार को कम कर सकते हैं। कुछ मामलों में इतने सारे कुकी हैं कि एक एकल http अनुरोध दो टीसीपी पैकेट को प्रेषित करने के लिए लेता है। इसलिए एक अलग डोमेन होने से एक पृष्ठ के विभिन्न हिस्सों के अनुरोध के लिए पैकेटों की संख्या कम करने का एक तरीका है।

एक ही लक्ष्य के साथ अन्य विधियाँ बहुत सारी छवियों को एक एकल स्प्राइट में विलय कर रही हैं और सभी जावास्क्रिप्ट को एक फ़ाइल में विलय कर रही हैं।


23

CDN के उपयोग के अलावा, स्थैतिक डेटा के लिए अलग डोमेन का उपयोग करने का भी अर्थ है:

  1. आप एक हल्के वेब सर्वर का उपयोग कर सकते हैं, जिसमें आपके डायनामिक कंटेंट वेब सर्वर को हर एक अनुरोध पर लोड करने के लिए सभी मॉड्यूल / एक्सटेंशन को लोड नहीं करना पड़ता है। पढ़ने के लिए URI पथ में प्रत्येक निर्देशिका को स्कैन नहीं करने के लिए .htaccess फ़ाइलों के साथ-साथ सर्वर द्वारा हैंडल किए जाने वाले अनुरोधों की संख्या भी बढ़ जाती है।

  2. एक अतिरिक्त उपडोमेन जोड़ने का मतलब है कि आप समानांतर डाउनलोड की संख्या बढ़ा सकते हैं जो ब्राउज़र प्रदर्शन कर सकता है।

  3. यदि ठीक से सेट किया गया है (उदाहरण के लिए आपकी साइट पर www.example.comइसके बजाय होस्ट किया गया है example.com), तो आप कुकलेस उपडोमेन का भी लाभ उठा सकते हैं, जिससे ट्रैफ़िक और राउंडट्रिप समय कम हो सकता है।

केवल नकारात्मक पक्ष यह है कि यदि आप एसएसएल सत्र का उपयोग कर रहे हैं, तो आपको अतिरिक्त डोमेन के लिए एक हस्ताक्षरित प्रमाण पत्र और अलग-अलग स्टेटिक आईपी की आवश्यकता है। लेकिन लाभ ज्यादातर मामलों में इस मामूली असुविधा से आगे निकल जाते हैं।

संपादित करें:

क्षमा करें, मैंने आपके प्रश्न को गलत बताया। यदि आप पूछ रहे हैं कि कुछ लोग अलग SLD का उपयोग क्यों करते हैं, तो इसका उत्तर # 3 पर कोष्ठक द्वारा दिया जाएगा। इसे sstatic.net पर भी समझाया गया है :

यदि आपका डोमेन www.example.org है, तो आप अपने स्थिर घटकों को static.example.org पर होस्ट कर सकते हैं। हालाँकि, यदि आपने www.example.org के विपरीत पहले से ही शीर्ष-स्तरीय डोमेन example.org पर कुकीज़ सेट कर रखी हैं, तो static.example.org के सभी अनुरोधों में वे कुकीज़ शामिल होंगी। इस स्थिति में, आप एक नया डोमेन खरीद सकते हैं, अपने स्थैतिक घटकों की मेजबानी कर सकते हैं और इस डोमेन को कुकी-मुक्त रख सकते हैं। याहू! yimg.com का उपयोग करता है, YouTube ytimg.com का उपयोग करता है, अमेज़न images-amazon.com का उपयोग करता है।

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

अंत में, जैसा कि नील्स बसेज बताते हैं, कुकीज़ को नष्ट करने का कारण अनुरोध करने के लिए उपयोग किए जाने वाले पैकेट की संख्या को कम करना है। मुझे लगता है कि YSlow दिशानिर्देशों में कहा गया है कि अधिकांश नेटवर्क में 1500 बाइट्स का अधिकतम पैकेट आकार होता है, इसलिए इसे 1500 बाइट्स के नीचे रखने से TCP ओवरहेड कम हो जाएगा। यह sstatic.netइसके बजाय उपयोग करने के एक और लाभ को दर्शाता है static.webmasters.stackexchange.com


आपको एक अलग आईपी की आवश्यकता क्यों होगी?
म्हालिस बागोस

2
क्योंकि डोमेन नाम भेजे जाने से पहले एन्क्रिप्शन पारंपरिक रूप से लागू होता है। एसएनआई , जो इसे कम करता है, अभी तक सार्वभौमिक रूप से समर्थित नहीं है - आप XP पर IE को बाहर कर देंगे।
फ़िहाग


3
मैं कई उप-डोमेन का उपयोग करने के बारे में नहीं पूछ रहा हूं - जो मुझे समझ में आता है। मैं अलग-अलग पूर्ण डोमेन के बारे में पूछ रहा हूं। क्यों static.stackexchange.com के बजाय sstatic.net?
माइकल एकस्ट्रैंड

5

Lèse majesté ने मुख्य बिंदुओं को कवर किया, लेकिन आगे विस्तार करने के लिए मैं जोड़ दूंगा कि सभी विभिन्न स्टैक एक्सचेंज साइटों के लिए एक ही डोमेन होने का मतलब है कि उन्हें ब्राउज़ करने वाला कोई व्यक्ति केवल एक बार जावास्क्रिप्स जैसे स्थिर सामग्री डाउनलोड करेगा। उदाहरण के लिए, सुपरसुअर पर जा रहे हैं, एक उपयोगकर्ता कैश्ड सामग्री का उपयोग करेगा क्योंकि यह उसी स्थान से है।

इस बारे में याहू और गूगल पर कुछ और उपयोगी जानकारी है ।


5

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

हालाँकि, वास्तविक अंतर ब्राउज़र कैश से आता है। चूंकि सामग्री स्थिर है (अर्थात परिवर्तित नहीं होती है), ब्राउज़र इसे स्थानीय हार्ड डिस्क पर कैश कर सकते हैं और हर बार इंटरनेट से फ़ाइल लोड करने से बच सकते हैं। संपूर्ण फ़ाइल के बजाय, वेब सर्वर केवल 304 उत्तर भेजता है, जिसका अर्थ है कि सामग्री नहीं बदली गई है।

जब साइट कुकीज़ का उपयोग करती है, तो ब्राउज़र मानते हैं कि फ़ाइल की सामग्री विभिन्न उपयोगकर्ताओं के लिए भिन्न हो सकती है, इसलिए वे उन फ़ाइलों को कैश नहीं करते हैं। कुकी-कम डोमेन से फ़ाइल की सेवा सुनिश्चित करता है कि ब्राउज़र कैशिंग ठीक से काम करता है।

यह मुख्य कारण है क्योंकि यह लोडिंग समय में सुधार करता है और बैंडविड्थ को काफी कम करता है।


3

पुराने ब्राउज़र केवल होस्टनाम प्रति दो समानांतर डाउनलोड तक सीमित हैं।

एक वेब पेज के तत्वों को कई डोमेन में विभाजित करने को डोमेन शेरिंग कहा जाता है । ऐसा करने से अधिक संसाधनों को समानांतर में डाउनलोड करने की अनुमति मिलती है, जिससे कुल पृष्ठ लोड समय कम हो जाता है।

डोमेन के पार की अधिकतम संख्या 2-4 है। 4 डोमेन के बाद, प्रतिक्रिया समय कम हो जाता है

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