2010-01-16 15 views
5

जब आप कुकी सेट करते हैं, तो आप कच्चे कुकी डेटा और कुछ मेटाडेटा सेट करते हैं। इस मेटाडाटा में वह कुकी शामिल है जहां कुकी मान्य है, कुकी का समाप्ति समय, और इसी तरह।क्या कुकी "मेटाडाटा" (समाप्त हो जाती है, पथ, ...) सर्वर पर स्थानांतरित हो जाती है?

जब कोई ब्राउज़र अनुरोध करता है, ब्राउज़र इसके साथ वास्तव में क्या भेजता है? क्या यह सभी "मेटाडेटा" के साथ पूर्ण कुकी भेज देगा? या केवल मेटाडेटा के बिना, कुकी का वास्तविक डेटा?

+0

आप Fiddler पर मिले (www.fiddler2.com) इस तरह उपयोगी जवाब देने के लिए सवालों की तरह कुछ कार्रवाई करने के लिए के लिए है। – EricLaw

+0

मैं ओएस एक्स चलाता हूं, लेकिन वैसे भी धन्यवाद :) –

+0

आप ओएसएक्स पर वायरशर्क का उपयोग कर सकते हैं। –

उत्तर

8

नहीं केवल कुकी का मान है बाद के अनुरोधों में लौटा, अन्य मेटाडाटा ग्राहक पर रहता है।

जब आप सर्वर पर कुकी को परिभाषित करते हैं तो Set-Cookie शीर्षलेख कुकी के नाम, मूल्य और अन्य मेटाडेटा को लेते हुए प्रतिक्रिया में बनाया जाता है। एकाधिक कुकीज़ प्रतिक्रिया में एकाधिक Set-Cookie शीर्षलेख बनाएंगे।

जब ब्राउज़र बाद के अनुरोध करता है तो यह उपलब्ध कुकीज़ के "डेटाबेस" को जांचता है ताकि यह देखने के लिए कि कौन से कुकीज़ अनुरोध किए जा रहे हैं। इसके बाद अनुरोध में एक Cookie शीर्षलेख बनाता है जिसमें क्वालीफाइंग कुकीज़ के नाम/मूल्य जोड़े की श्रृंखला होती है।

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

0

उपयोगकर्ता-एजेंट RFC2965 (Set-Cookie2 शीर्षलेख के माध्यम से) सेट किया गया था और यदि सर्वर द्वारा विशेषता निर्दिष्ट की गई थी तो उपयोगकर्ता-एजेंट पथ, डोमेन और पोर्ट गुणों को फिर से प्रेषित करेगा। एक नमूना अनुरोध शामिल हो सकता है:

Cookie: $Version="1"; 
    name="val"; $Path="/site"; $Domain=".example.com"; $Port="81"; 
    name="val"; $Path="/site/dir"; $Domain=".example.com"; $Port="81" 

यदि कुकी मूल नेटस्केप Set-Cookie हेडर का उपयोग कर निर्दिष्ट किया गया था, कोई गुण फिर से प्रसारित किया जाएगा। यदि एक ही नाम के साथ कई कुकीज़ (लेकिन विभिन्न पथ) अनुरोध के लिए मान्य हैं, तो सभी मेल खाने वाली कुकीज़ की आपूर्ति की जाएगी। एक उदाहरण अनुरोध:

Cookie: name=val; name=val2 

पूर्ण कल्पना यहाँ है:

http://tools.ietf.org/html/rfc2965

मूल नेटस्केप कल्पना यहाँ है:

http://web.archive.org/web/20070805052634/http://wp.netscape.com/newsref/std/cookie_spec.html

+0

सेट-कुकी प्रतिक्रिया प्रतिक्रिया है जो कुकी की परिभाषा देता है, प्रश्न यह है कि अन्य अनुरोध होने पर सर्वर पर वापस भेजा जाता है। – AnthonyWJones

+0

'सेट-कुकी 2' हेडर - क्या यह एक मानक शीर्षलेख है जो अधिकतर ब्राउज़र समझेंगे? –

+0

यानी हाँ, ओपेरा हाँ, एफएफ के बारे में निश्चित नहीं है। अगर क्लाइंट इसका समर्थन नहीं करता है तो सर्वर पुराने स्टाइल कुकीज़ का उपयोग कर सकता है। – jspcal

1

सर्वर कुकी को "सेट-कुकी" शीर्षलेख के साथ सेट करता है। निर्दिष्ट होने पर इसमें मेटाडेटा (पथ और समाप्ति) शामिल है। क्लाइंट (ब्राउज़र) केवल कुकी को "कुकी" हेडर में भेजता है।

फ़ायरबग फ़ायरफ़ॉक्स के लिए इन सभी शीर्षकों को देखने के लिए एक उपयोगी टूल है। इसी तरह के उपकरण अन्य ब्राउज़रों के लिए उपलब्ध होना चाहिए।

1

केवल कुकी डेटा सर्वर के लिए भेजा जाता है, अन्य मेटाडाटा ब्राउज़र कुकी समाप्ति

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

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