Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript Cookies: एक गाइड

कुकीज़ एक स्वादिष्ट स्नैक और आधुनिक वेबसाइटों का एक महत्वपूर्ण हिस्सा दोनों हैं।

कुकीज़ आपको वेब ब्राउज़र में उपयोगकर्ता के बारे में डेटा संग्रहीत करने की अनुमति देती हैं। कुकीज़ अक्सर प्रमाणीकरण सत्र जैसी जानकारी संग्रहीत करती हैं ताकि ब्राउज़र याद रखे कि आपने वेब पेज पर लॉग इन किया है।

इस गाइड में, हम बात करने जा रहे हैं कि कुकीज़ क्यों मौजूद हैं, कुकीज़ के प्रकार क्या हैं और JavaScript में कुकीज़ का उपयोग कैसे करें। शुरू करते हैं!

ब्राउज़र कुकीज़ क्या हैं?

कुकीज़ टेक्स्ट की स्ट्रिंग्स हैं जो उपयोगकर्ता के बारे में जानकारी उनके ब्राउज़र में संग्रहीत करती हैं। इस विचार को नेटस्केप द्वारा विकसित किया गया था, जिसने 1990 के दशक में दुनिया के सबसे लोकप्रिय ब्राउज़रों में से एक विकसित किया था। नेटस्केप ने यह ट्रैक करने के लिए कुकीज़ विकसित कीं कि क्या किसी उपयोगकर्ता ने पहले ही उनकी साइट देखी है। यदि उन्होंने देखा है, तो इसका मतलब है कि उपयोगकर्ता शायद नेटस्केप के बारे में कुछ जानता है।

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

कुकी का एक उदाहरण यहाँ दिया गया है:

Name: Authentication
Value: AUTHENTICATION_KEY
Domain: careerkarma.com

कुकीज़ key:value जोड़े में संग्रहीत की जाती हैं। जब आप इस कुकी को देखते हैं, तो आप निम्नलिखित देखेंगे:

Authentication=AUTHENTICATION_KEY

यह कुकी आपके ब्राउज़र में AUTHENTICATION_KEY मान संग्रहीत करेगी। हर बार जब आप डोमेन careerkarma.com तक पहुंचते हैं, तो वह कुकी साइट पर उपलब्ध कराई जाएगी।

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

ब्राउज़र कुकीज़ पुनर्प्राप्त करें

JavaScript में document.cookie नामक एक ऑब्जेक्ट होता है जो किसी साइट पर उपलब्ध सभी कुकीज़ के बारे में जानकारी संग्रहीत करता है। कुकीज़ सेट, अपडेट और हटाने के लिए, हमें इस ऑब्जेक्ट में हेरफेर करने की आवश्यकता है। कुकीज़ पुनर्प्राप्त करने के लिए, हम बस इस ऑब्जेक्ट को कॉल कर सकते हैं:

console.log(document.cookie);

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

ब्राउज़र कुकी कैसे सेट करें

ब्राउज़र कुकी कैसे सेट करें? खैर, एक बात है जो आपको पहले से पता होनी चाहिए: यह यकीनन अपनी खुद की कुकीज़ बेक करने से आसान है।

मान लीजिए हम उपयोगकर्ता के ईमेल को कुकी में संग्रहीत करना चाहते हैं। हम ऐसा इस JavaScript कोड का उपयोग करके कर सकते हैं:

document.cookie = "email=user@email.com";
console.log(document.cookie);

यह कोड "email" नाम और "user@email.com" मान के साथ एक कुकी बनाता है। हमारा console.log() स्टेटमेंट निम्नलिखित लौटाता है:

email=user@email.com;

आप यह भी निर्दिष्ट कर सकते हैं कि कुकी किस पथ पर उपलब्ध है:

document.cookie = "email=user@email.com; path=/dashboard";

यह कोड "email" कुकी को उन सभी पथों पर उपलब्ध कराएगा जो "/dashboard" से शुरू होते हैं।

कुकी समाप्ति तिथियाँ

डिफ़ॉल्ट रूप से, कुकीज़ ब्राउज़र बंद होने पर हटा दी जाती हैं। जब आप कुकी सेट कर रहे होते हैं, तो आप वैकल्पिक रूप से एक समाप्ति तिथि जोड़ सकते हैं जो इस सेटिंग को ओवरराइड करेगी:

document.cookie = "email=user@email.com; expires=Wed, 24 Jun 2019 12:00:00 UTC";

यह एक कुकी बनाएगा जो 24 जून, 2020 को दिन की शुरुआत में समाप्त होती है। आपकी समाप्ति तिथि UTC समय में निर्दिष्ट की जानी चाहिए।

समाप्ति तिथि सेट करने का एक सामान्य दृष्टिकोण JavaScript Date ऑब्जेक्ट का उपयोग करना है, जो UTC टाइमस्टैम्प लौटाता है। 30 जून, 2020 को समाप्त होने के लिए सेट कुकी इस कोड का उपयोग करेगी:

const expiryDate = new Date(2020, 6, 30);
document.cookie = "email=user@email.com; expires=" + expiryDate + ";";

document.cookie ऑब्जेक्ट कुकी की अधिकतम आयु, या Max-Age सेट करने का समर्थन करता है, जो बताता है कि कुकी समाप्त होने से पहले कितने समय तक उपलब्ध होनी चाहिए। जबकि यह हर ब्राउज़र द्वारा समर्थित नहीं है, यह आपके लिए कुकीज़ बनाना आसान बनाता है जो इस पर निर्भर करते हुए समाप्त होती हैं कि उपयोगकर्ता ने कुकी का निर्माण कब शुरू किया:

const expiryDate = 24 * 60 * 60 * 2;
document.cookie = "email=user@email.com; max-age=" + expiryDate + ";";

यह एक कुकी बनाएगा जो दो दिनों के बाद समाप्त हो जाएगी।

कुकीज़ अपडेट करना और हटाना

कुकीज़ अपडेट या हटाने के लिए कोई फंक्शन्स नहीं हैं। इसके बजाय, आप "document.cookie" ऑब्जेक्ट में बदलाव करते हैं।

आप कुकी को उसी तरह अपडेट कर सकते हैं जैसे आपने इसे बनाया था:

document.cookie = "email=user@email.app;"

यह "email" के मान को "user@email.com" से "user@email.app" में बदल देता है।

कुकी हटाने के लिए समान दृष्टिकोण का उपयोग किया जाता है। आपको केवल कुकी बनाने या अपडेट करने के लिए उपयोग किए गए समान सिंटैक्स का उपयोग करना है, लेकिन कुकी को असाइन किए गए मान को हटा दें:

document.cookie = "email=; expires=Wed, 24 Jun 2019 12:00:00 UTC; path=/;"

सही कुकी हटाना सुनिश्चित करने के लिए आपको पथ निर्दिष्ट करना चाहिए।

कुकीज़ के प्रकार

रास्पबेरी। चॉकलेट चिप। फज। नहीं, कुकीज़ के वे प्रकार नहीं! ब्राउज़र में, कुकीज़ के तीन मुख्य प्रकार हैं: सेशन, थर्ड-पार्टी और पर्सिस्टेंट।

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

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

थर्ड-पार्टी कुकीज़ वे कुकीज़ हैं जो अन्य वेबसाइटों द्वारा बनाई गई हैं। इसका एक उदाहरण Google Analytics कुकीज़ है। यदि आप अपनी साइट पर Google Analytics इंस्टॉल करते हैं, तो एक्सटेंशन उपयोगकर्ताओं का ट्रैक रखने के लिए कुकीज़ सेट करने में सक्षम होगा।

निष्कर्ष

कुकीज़ ब्राउज़र में उपयोगकर्ता जानकारी संग्रहीत करने का एक आसान तरीका है। उनका उपयोग अक्सर यह ट्रैक करने के लिए किया जाता है कि कोई उपयोगकर्ता पहले किसी साइट पर गया है या नहीं और प्रमाणीकरण कुकीज़ संग्रहीत करने के लिए।

कुकीज़ के तीन मुख्य प्रकार हैं: सेशन, पर्सिस्टेंट और थर्ड-पार्टी। अपने स्वयं के एप्लिकेशन्स के लिए, आप मुख्य रूप से सेशन और पर्सिस्टेंट कुकीज़ का उपयोग करने पर केंद्रित होंगे।

  1. JavaScript appendChild: एक संपूर्ण गाइड JavaScript appendChild: एक संपूर्ण गाइड

    JavaScript appendChild() मेथड किसी नोड के अंत में आइटम जोड़ता है। appendChild() का उपयोग अक्सर लिस्ट में <li> आइटम्स जोड़ने के लिए किया जाता है। यदि आप किसी नोड में एक से अधिक आइटम जोड़ना चाहते हैं तो आपको कई appendChild() स्टेटमेंट्स का उपयोग करना होगा। JavaScript appendChild का उपयोग कैसे क

  1. - JavaScript का उपयोग करके डोमेन-आधारित कुकीज़ कैसे बनाएं?

    डोमेन-आधारित कुकी बनाने के लिए, अपनी कुकी पर डोमेन और पथ एट्रिब्यूट सेट करें, जैसे - domain=.example.com उदाहरण डोमेन-आधारित कुकीज़ बनाना सीखने के लिए निम्न कोड चलाकर देखें लाइव डेमो <html>    <head>       <script>          <!--

  1. - JavaScript कुकीज़ में कौन से रिकॉर्ड मौजूद होते हैं?

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