कुकी डोमेन में डॉट उपसर्ग का क्या अर्थ है?


93

यहाँ छवि विवरण दर्ज करें

बीच क्या अंतर है local.test.comऔर .local.test.com? स्क्रीनशॉट क्रोम से है।



1
यहाँ एक अच्छा राइटअप है
user2864740

16:44 पर user2864740 Sep 26 '16 से टिप्पणी में - लिंक मृत है, जाहिरा तौर पर erik.io डोमेन किसी अन्य उपयोगकर्ता या डोमेन रजिस्ट्रार को दिया गया है।
19

जवाबों:


58

local.test.comडोमेन के लिए उपयोग किया जाएगा, जबकि .local.test.comउप-डोमेन के लिए भी उपयोग किया जाएगा।


11
तो local.test.comलागू नहीं होगा x.local.test.com, लेकिन .local.test.comलागू होता है local.test.comऔर दोनों के लिए x.local.test.com?
ripper234

29
मेरा मानना ​​है कि यह गलत है। कुकीज़ किसी भी और सभी डाउनस्ट्रीम उप डोमेन के साथ या बिना डॉट के साथ साझा की जाती हैं। आप उप-डोमेन को अपने माता-पिता से "विरासत में मिली" कुकीज़ के रूप में सोच सकते हैं। इसलिए example.com पर कुकी सेट करना blog.example.com और my.blog.example.com पर सेट करता है। Blog.example.com पर कुकी सेट करना इसे इस पर सेट करता है। इसके बीच में प्रत्येक। लेकिन, विरासत की तरह, रिवर्स सच नहीं है। Blog.example.com पर कुकी सेट करना example.com पर सेट नहीं करता है।
गेड्सकी

6
उस ने कहा, आप कुकी के डोमेन को बिल्कुल भी सेट न करके (या खाली स्ट्रिंग पर सेट करके) कुकी को केवल होस्ट तक सीमित कर सकते हैं। यह, अजीब तरह से, कुकी को केवल होस्ट (उदाहरण.कॉम) के लिए सेट करेगा और इसके किसी भी उप-डोमेन के लिए नहीं।
गेड्सकी

8
एक अन्य उत्तर के आधार पर स्पष्ट करने के लिए, डॉट एक अंतर बनाने के लिए इस्तेमाल किया गया था, लेकिन अब यह नहीं है। कुकी को निर्दिष्ट डॉट के साथ या उसके बिना निर्दिष्ट डोमेन के किसी भी उप डोमेन में भेजा जाएगा। यह वास्तव में नियंत्रित करता है कि क्या यह उप-डोमेन में पारित हो गया है या नहीं , क्या आपने कुकी पर एक डोमेन निर्धारित किया है या नहीं। यदि आप कोई डोमेन सेट नहीं करते हैं, तो कुकी केवल उसी डोमेन को भेजी जाएगी जिसने इसे जारी किया था। इसे कभी भी कम-विशिष्ट अभिभावक डोमेन पर नहीं भेजा जाएगा (उदाहरण के लिए "local.test.com" को "test.com" के अनुरोधों में शामिल नहीं किया जाएगा), और यह केवल यदि आप एक डोमेन मान सेट करते हैं तो यह मेल खाते उप-डोमेन में भेजा जाएगा।
ट्राइंको

4
जब आप कुकी को अद्यतन करने के लिए बांध रहे हैं तो @Triynko, डॉट पर फर्क पड़ता है। मैं सभी नियमों को अलग करने में कामयाब नहीं हुआ हूं, लेकिन मैंने प्रमुख डॉट की मौजूदगी के आधार पर परिणामों को अलग-अलग देखा है और यह सीधे आगे नहीं बढ़ा है। यह कार्य ब्राउज़र द्वारा कैसे बदलता है और सभी सहज नहीं है। यह नियंत्रित करना कि क्या एक कुकियनाम का ब्राउज़र पर एक प्रमुख बिंदु है या नहीं, यह सबसे सरल प्रोग्रामिंग कार्य नहीं है जो मैंने कभी किया था।
डैनैन

83

प्रमुख बिंदु का मतलब है कि कुकी उप-डोमेन के लिए भी मान्य है; फिर भी हाल ही में HTTP विशिष्टताओं (RFC 6265) ने इस नियम को बदल दिया इसलिए आधुनिक ब्राउज़रों को प्रमुख डॉट के बारे में परवाह नहीं करनी चाहिए। पुराने RFC 2109 को लागू करने वाले पुराने ब्राउज़र द्वारा डॉट की आवश्यकता हो सकती है।

RFC 6265 सेक्शन 4.1.2.3

उदाहरण के लिए, यदि डोमेन विशेषता का मान "example.com" है, तो HTTP.com, www.example.com और www.corp.example से HTTP अनुरोध करते समय उपयोगकर्ता एजेंट कुकी को कुकी हेडर में शामिल करेगा। कॉम। (ध्यान दें कि एक प्रमुख% x2E ("।"), यदि मौजूद है, तो भले ही उस चरित्र की अनुमति नहीं है, लेकिन इसे अनदेखा किया जाता है, लेकिन एक अनुगामी% x2E (""), यदि मौजूद है, तो उपयोगकर्ता एजेंट को विशेषता की अनदेखी करने का कारण होगा। )


1
RFC अप्रैल 2011 को दिनांकित है। IE8 और IE9 दोनों शुरू में उस तारीख से पहले जारी किए गए थे और दुख की बात है - अभी भी उपयोग किए जाते हैं। तो मेरा सबसे अच्छा अनुमान है (कोशिश नहीं) यह है कि उन्हें अग्रणी डॉट की आवश्यकता है। क्या किसी को इस बात का अंदाजा है कि पुराने RFC में कितने वाइल्ड ब्राउजर अभी भी चल रहे हैं?
ब्लेम

erik.io/blog/2014/03/03/04/definitive-guide-to-cookie-domains उप-डोमेन को शामिल करने की इच्छा होने पर सर्वोत्तम-संगतता के लिए एक अग्रणी बिंदु का उपयोग करने की सलाह देता है। यह संगतता आवश्यकता केवल घटती ही रहेगी। (6255 के लिए आवश्यक नहीं है, लेकिन आवश्यक है और 2109 के लिए एक ही अंतिम परिणाम के साथ।)
user2864740

12

लेख से कुकी डोमेन के लिए निश्चित गाइड और क्यों एक www-उपसर्ग आपकी वेबसाइट को सुरक्षित बनाता है :

निष्कर्ष

हालाँकि परिभाषाएँ कुछ अलग हैं, हम इनमें से किसी भी कार्यान्वयन के लिए इसे सरल बना सकते हैं :

  • जब कुकी में कोई डोमेन सेट नहीं किया जाता है, तो कुकी को केवल अनुरोध के सटीक होस्ट नाम से मेल खाना चाहिए[नोट: यह एक डॉट के बिना एक डोमेन के साथ सेट-कुकी वापस करने से अलग है!] कोई उप डोमेन, कोई आंशिक मैच नहीं। इसका मतलब बस डोमेन विशेषता शामिल नहीं है - यह खाली डोमेन विशेषता सेट करने के लिए मान्य नहीं है। दुर्भाग्य से, इंटरनेट एक्सप्लोरर इसे किसी भी उप-डोमेन के साथ मेजबान नाम के रूप में व्यवहार करता है

  • कुकी में एक डोमेन सेट करते समय, सुरक्षित विकल्प यह होता है कि यह पूर्व की तरह एक डॉट, .erik.io से हो। कुकी सभी उप डोमेन के साथ मेल खाएगी।

  • एक पूर्ववर्ती डॉट के बिना कुकी डोमेन को सेट करना, जैसे erik.io, RFC 2109 कार्यान्वयन में अमान्य है, और अन्य कार्यान्वयन पर पूर्ववर्ती डॉट के साथ एक ही व्यवहार का उत्पादन करेगा। उप-डोमेन को शामिल किए बिना किसी विशिष्ट स्पष्ट रूप से सेट किए गए डोमेन के लिए कुकी को प्रतिबंधित करने का कोई तरीका नहीं है।

अन्य सार्थक अवलोकन:
  • सभी RFC में, निर्दिष्ट कुकी डोमेन को सामान्य मिलान के अनुसार वर्तमान होस्ट नाम से मेल खाना चाहिए। Erik.io की प्रतिक्रिया में www.erik.io के लिए एक कुकी सेट करना मान्य नहीं है, क्योंकि डोमेन www.erik.io के साथ एक कुकी erik.io से मेल नहीं खाती है, जो पहले से अधिक विशिष्ट है।

  • RFC 6265 में, सेट-कुकी हेडर को पार्स करते समय डोमेन स्पष्ट रूप से कम होता है।


1

".Local.test.com" में प्रमुख बिंदु यह है कि कैसे क्रोम "डोमेन = local.test.com" सेट (या "डोमेन = .local.test.com", जो समान है) के साथ कुकीज़ को देखता है।

"डोमेन = कुछ" के बिना सेट-कुकी परिभाषाएँ एक अग्रणी बिंदु के बिना डोमेन (= होस्ट) को देखती हैं।

इसलिए क्रोम में अग्रणी बिंदु यह नहीं दर्शाता है कि सर्वर से एक अग्रणी डॉट का उपयोग किया गया था या नहीं, लेकिन क्या कुकी के पास सर्वर से इसकी परिभाषा में "डोमेन = कुछ" था या नहीं। (और अगर यह था, तो कुकी को उप-डोमेन पर भी भेजा जाएगा)।

कम से कम यह मेरा परीक्षण है। उदाहरण के लिए, क्रोम को पढ़ना आसान बनाना चाहिए, उदाहरण के लिए कुकी को परिभाषित करने वाले सटीक स्ट्रिंग को देखें और जब यह प्राप्त किया गया था।

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