मैं कुकी-कम डोमेन कैसे सेट करूँ?


24

मैंने पढ़ा है कि बेहतर प्रदर्शन के लिए कुकी-कम डोमेन या उपडोमेन से स्थिर सामग्री (सीएसएस, जावास्क्रिप्ट, आदि) की सेवा करना सबसे अच्छा है। मुझे लगता है कि एक डोमेन डिफ़ॉल्ट रूप से कुकी से कम नहीं है। मैं यह कैसे निर्दिष्ट करूँ कि मैं कुकीज़ का उपयोग नहीं करना चाहता हूँ?


3
इस तरह की बात वास्तव में तब तक मायने नहीं रखती है जब तक कि आप एक घंटे में हजारों पृष्ठों या एक मिनट में हजारों पृष्ठों की सेवा नहीं दे रहे हों।

"कुकी आकार को कम रखने के लिए अपना सर्वश्रेष्ठ करने के बावजूद, Google Analytics का हमारा उपयोग औसत उपयोगकर्ता के कुकी आकार को 1 किलोबाइट के आसपास रखता है।" उपयोगी और संबंधित - chrishateswriting.com/post/68794699432/small-things-add-up
mvark

जवाबों:


26

जब YSlow और पेज स्पीड जैसी चीजें आपको कुकी-कम डोमेन सेट करने के लिए कहती हैं, तो उनका मतलब है कि वे एक ऐसे डोमेन से मीडिया की सेवा करते हैं, जहां आप कोई सेटिंग नहीं करेंगे, या अतीत में कोई भी (विश्व स्तर पर) सेट नहीं किया है। कभी-कभी यह उप-डोमेन का उपयोग करके पूरा किया जा सकता है, जैसे कि media.domain.com, या static.domain.com, हालाँकि यदि आप domain.comउस पर एक कुकी सेट करते हैं, जो कि समग्र रूप से डोमेन पर लागू होती है *.domain.com- तब के लिए एक कुकी - तो यह कुकी क्लाइंट द्वारा सर्वर पर वापस भेज दी जाएगी। के लिए प्रत्येक अनुरोध हर से संबद्ध डोमेन domain.com। इसमें सभी उप-डोमेन शामिल हैं।

यदि आप www.अपने डोमेन का उपयोग करने का निर्णय लेते हैं तो वैश्विक कुकी एक मुद्दा बन जाता है । किसी कुकी को सेट करने के लिए एक विशिष्ट उप-डोमेन के बिना, सभी कुकीज़ *.domain.comको काम करने के लिए सेट किया जाना चाहिए ।

यह वैश्विक कुकी मुद्दा यही है कि आप ytimg.comYouTube जैसी जगहों से स्थैतिक मीडिया को क्यों देखेंगे । ytimg.comकुकीज़ को सेट करने वाली डायनामिक सामग्री कभी नहीं परोसेंगे, जिसका अर्थ है कि जब तक ये डोमेन HTTP रिक्वेस्ट का हिस्सा नहीं होंगे, तब तक क्लाइंट के लिए सर्वर से कोई कुकी वापस नहीं भेजी जाएगी।

आपको विश्वास है कि आप एक कुकी सेट कभी नहीं होगा के लिए कर रहे हैं *.domain.comतो आप अपनी आवश्यकताओं के लिए एक उप डोमेन का उपयोग कर सकते हैं। ध्यान रहे कि अधिकांश समय यदि आप जावास्क्रिप्ट के माध्यम से किसी अन्य साइट या सेवा के साथ एकीकृत होते हैं, तो वे वैश्विक डोमेन कुकीज़ सेट करेंगे।

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

Header unset Cookie
Header unset Set-Cookie 

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


"केवल एक समस्या यदि आप ऐसी सामग्री परोसते हैं जो आपके कुकी-कम डोमेन से स्थिर नहीं है, जो उनके उद्देश्य को हरा देती है।" - क्यों, बिल्कुल? स्वाभाविक रूप से उत्पन्न सामग्री के बारे में कुछ भी नहीं है जो स्वाभाविक रूप से कुकीज़ की आवश्यकता होती है।

1
मैंने यह नहीं कहा कि अपने स्थिर डोमेन से डायनामिक कंटेंट परोसना स्वाभाविक रूप से कुछ भी सेट करता है। मैंने कहा कि अगर आपके डायनेमिक कंटेंट को आपके स्टैटिक डोमेन से कुकीज सेट करते हैं तो कुकीज़ एक समस्या होगी। स्टैटिक डोमेन का उद्देश्य ऐसी सामग्री परोसना है जिसके लिए कोई इंटरैक्शन की आवश्यकता नहीं है: चित्र, सीएसएस, जेएस, आदि डायनामिक कंटेंट - जो कि आपके कुकीज़ सेट किया जाना चाहिए - स्थैतिक डोमेन द्वारा नियंत्रित नहीं किया जाना चाहिए।
ब्रायनसन

6

मैं यह कैसे निर्दिष्ट करूँ कि मैं कुकीज़ का उपयोग नहीं करना चाहता हूँ?

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

एक गलती मैंने हाल ही में की थी कि मैंने एक डोमेन और एक उप-डोमेन के बीच अंतर नहीं किया था। मैंने अपने सभी मीडिया को http://media.example.comयह सोचकर सेवा देना शुरू कर दिया कि वह एक कुकलेस डोमेन है, लेकिन वास्तव में यह एक उप- डोमेन है और मैंने अपने कई कुकीज़ मुख्य साइट से प्राप्त किए हैं http://www.example.comजहाँ एक डोमेन स्तर पर सेट किया जा रहा है और इसलिए मेरे सपोटली कुकलेस डे-डोमेन को प्रदूषित कर रहा है। यहाँ मैं उस समस्या को हल करने के लिए लिंक है: /server/160210/nginx-serve-static-content-from-a-cookieless-domain


2
से कुकी www.example.net नहीं भेजी जाएंगी static.example.net, लेकिन कुकीज़ से example.netहोगी। इसका समाधान पुनर्निर्देशित example.netकरना है www.example.net
टीआरजी

3

मैं यह कैसे निर्दिष्ट करूँ कि मैं कुकीज़ का उपयोग नहीं करना चाहता हूँ?

आपको यह निर्दिष्ट करने की आवश्यकता नहीं है कि आप कुकीज़ का उपयोग नहीं करना चाहते हैं, आप बस उनका उपयोग नहीं करते हैं।


3
हमेशा एक विकल्प नहीं। अन्य साइटों से जावास्क्रिप्ट सुविधा-एकीकरण आमतौर पर डोमेन के लिए वैश्विक कुकीज़ निर्धारित करेगा कि आप उन्हें चाहते हैं या नहीं।
ब्रायसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.