লোকালস্টোরেজ, সেশন স্টোরেজ, সেশন এবং কুকিজের মধ্যে পার্থক্য কী?


531

লোকালস্টোরেজ, সেশন স্টোরেজ, সেশন এবং কুকিজগুলির প্রযুক্তিগত উপকারিতা এবং কনসগুলি কী এবং আমি কখন অন্যটির ব্যবহার করব?


2
এটি দেখার জন্যও এটি সম্পর্কিত একটি বিষয়: HTML5 লোকাল স্টোরেজ বনাম সেশন স্টোরেজ ( স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 5523140/… )
সারিন জেএস

2
এছাড়াও নোট করুন যে সেশন কুকিগুলি যতক্ষণ না ব্রাউজার উইন্ডো খোলা থাকে (যতক্ষণ ট্যাব সেটে ছিল সেগুলি খোলা থাকে না) তবে সেশন স্টোরেজটি আপনি ট্যাবটি বন্ধ করার সাথে সাথেই ...
yar1

হ্যাঁ সেশনও কুকির ধরণ। বৈশিষ্ট্যটি হ'ল এটি ক্ষণস্থায়ী যেখানে কুকি অধ্যবসায় রয়েছে
ফারিস রায়হান

@ yar1 একটি নির্দিষ্ট ব্রাউজার উইন্ডো একটি অপ্রাসঙ্গিক UI উপাদান।
কৌতূহলী

উত্তর:


717

এটি একটি অত্যন্ত বিস্তৃত সুযোগ প্রশ্ন, এবং প্রচুর উপকার / ধারণা পরিস্থিতিটির প্রেক্ষাপটে হবে।

সব ক্ষেত্রেই, এই স্টোরেজ প্রক্রিয়াগুলি পৃথক কম্পিউটার / ডিভাইসে পৃথক ব্রাউজারের জন্য সুনির্দিষ্ট হবে। সেশন জুড়ে চলমান ভিত্তিতে ডেটা সংরক্ষণ করার জন্য যে কোনও প্রয়োজনে আপনার অ্যাপ্লিকেশন সার্ভারের দিকটি জড়িত করতে হবে - সম্ভবত কোনও ডাটাবেস ব্যবহার করা, তবে সম্ভবত এক্সএমএল বা একটি পাঠ্য / সিএসভি ফাইল।

স্থানীয় স্টোরেজ, সেশনসোজারেজ এবং কুকিজ সমস্ত ক্লায়েন্ট স্টোরেজ সমাধান are সেশন ডেটা সার্ভারে রাখা হয় যেখানে এটি আপনার সরাসরি নিয়ন্ত্রণে থাকে।

লোকালস্টোরেশন এবং সেশনসোজার

লোকালস্টোরেজ এবং সেশনস স্টোরেজ তুলনামূলকভাবে নতুন এপিআই (অর্থাত্ সমস্ত লিগ্যাসি ব্রাউজারগুলি এগুলিকে সমর্থন করবে না) এবং অধ্যবসায়ের একমাত্র ব্যতিক্রম ব্যতীত অভিন্ন (এপিআই এবং ক্ষমতা উভয় ক্ষেত্রে) কাছে রয়েছে। সেশনসটরেজ (নাম হিসাবে বোঝা যায়) কেবল ব্রাউজার সেশনের সময়কালের জন্য উপলব্ধ (এটি ট্যাব বা উইন্ডোটি বন্ধ হয়ে গেলে মুছে ফেলা হয়) - তবে এটি পৃষ্ঠা পুনরায় লোডগুলি (উত্স) থেকে যায় ডিওএম স্টোরেজ গাইড - মোজিলা বিকাশকারী নেটওয়ার্ক) করে ) টিকে থাকে।

স্পষ্টতই, আপনি যে ডেটা সংরক্ষণ করছেন তা যদি চলমান ভিত্তিতে উপলভ্য হওয়া দরকার তবে লোকালস্টোরেশনটি সেশনসোজারেজের চেয়ে বেশি পছন্দনীয় - যদিও আপনার উভয়কেই ব্যবহারকারী দ্বারা সাফ করা উচিত বলে মনে করা উচিত যাতে আপনি উভয় ক্ষেত্রেই তথ্যের অবিচ্ছিন্ন অস্তিত্বের উপর নির্ভর করতে পারবেন না।

স্থানীয় স্টোরেজ এবং সেশনস স্টোরেজ পৃষ্ঠাগুলির মধ্যে ক্লায়েন্ট স্ক্রিপ্টগুলির মধ্যে প্রয়োজনীয় সংবেদনশীল ডেটা বজায় রাখার জন্য উপযুক্ত (উদাহরণস্বরূপ: পছন্দসমূহ, গেমসে স্কোর)। লোকালস্টোরেজ এবং সেশনস স্টোরেজে থাকা ডেটা ক্লায়েন্ট / ব্রাউজারের মধ্যে থেকে সহজেই পড়তে বা পরিবর্তন করা যায় তাই অ্যাপ্লিকেশনগুলির মধ্যে সংবেদনশীল বা সুরক্ষা-সম্পর্কিত ডেটা সংরক্ষণের জন্য নির্ভর করা উচিত নয়।

বিস্কুট

এটি কুকিগুলির ক্ষেত্রেও সত্য, এগুলি তুচ্ছভাবে ব্যবহারকারীর দ্বারা ছলচাতুরি করতে পারে এবং তাদের কাছ থেকে তথ্যগুলি সরল পাঠ্যেও পড়তে পারে - সুতরাং আপনি যদি সংবেদনশীল ডেটা সঞ্চয় করতে চান তবে সেশনটি সত্যই আপনার একমাত্র বিকল্প। আপনি যদি এসএসএল ব্যবহার না করে থাকেন তবে কুকির তথ্য ট্রানজিটে বিশেষত একটি উন্মুক্ত ওয়াইফাইতেও বাধা দেওয়া যেতে পারে।

ইতিবাচক দিক থেকে কুকিজের জন্য কোনও সুরক্ষা ঝুঁকি যেমন ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) / স্ক্রিপ্ট ইনজেকশন থেকে এইচটিটিপি কেবল একটি পতাকা নির্ধারণ করে যা জাভাস্ক্রিপ্ট থেকে কুকি এবং মানগুলিতে অ্যাক্সেস রোধ করতে পারে (যেমন সমর্থনকারী) ব্রাউজারগুলি প্রয়োগ করতে পারে এটি আপনার নিজস্ব, বৈধ, জাভাস্ক্রিপ্টগুলিতে অ্যাক্সেস করা থেকে বাধা দেবে)। প্রমাণীকরণ কুকিগুলির সাথে এটি বিশেষভাবে গুরুত্বপূর্ণ, যা লগইন করা হয়েছে এমন ব্যবহারকারীদের বিশদ সম্বলিত একটি টোকেন সংরক্ষণ করতে ব্যবহার করা হয় - যদি আপনার কাছে সেই কুকির অনুলিপি থাকে তবে সমস্ত উদ্দেশ্য এবং উদ্দেশ্যে আপনি ওয়েব অ্যাপ্লিকেশন হিসাবে যতদূর ব্যবহারকারী হয়ে ওঠেন সম্পর্কিত, এবং ব্যবহারকারীর কাছে থাকা ডেটা এবং কার্যকারিতাতে একই অ্যাক্সেস রয়েছে।

কুকিজ যেমন প্রমাণীকরণের উদ্দেশ্যে এবং ব্যবহারকারীর ডেটার অধ্যবসায়ের জন্য ব্যবহৃত হয়, তাই কোনও পৃষ্ঠার জন্য বৈধ সমস্ত কুকিজ ব্রাউজার থেকে প্রত্যেকটির জন্য সার্ভারে প্রেরণ করা হয় একই ডোমেনের অনুরোধের - এটিতে মূল পৃষ্ঠার অনুরোধ, পরবর্তী কোনও অ্যাজাক্স অনুরোধ, সমস্ত চিত্র, স্টাইলশিট, স্ক্রিপ্ট এবং হরফ। এই কারণে, কুকিগুলি প্রচুর পরিমাণে তথ্য সঞ্চয় করতে ব্যবহার করা উচিত নয়। ব্রাউজারটি কুকিগুলিতে সংরক্ষণ করা যেতে পারে এমন তথ্যের আকারের সীমাবদ্ধতা আরোপ করতে পারে। সাধারণত কুকিজ প্রমাণীকরণ, সেশন এবং বিজ্ঞাপন ট্র্যাকিংয়ের জন্য চিহ্নিত টোকেন সংরক্ষণ করতে ব্যবহৃত হয়। টোকেনগুলি সাধারণত এবং নিজের মধ্যে মানব পাঠযোগ্য তথ্য নয়, তবে আপনার অ্যাপ্লিকেশন বা ডাটাবেসের সাথে লিঙ্কযুক্ত এনক্রিপ্ট করা শনাক্তকারী।

স্থানীয় স্টোরেজ বনাম সেশনসোজার বনাম কুকিজ

ক্ষমতার শর্তাবলী, কুকিজ, সেশন স্টোরেজ এবং স্থানীয় স্টোরেজ কেবল স্ট্রিং সংরক্ষণের অনুমতি দেয় - সেট করার সময় স্পষ্টতই আদিম মানগুলি রূপান্তর করা সম্ভব (পড়ার পরে এগুলি তাদের ধরণের হিসাবে ব্যবহার করার জন্য এগুলিকে আবার রূপান্তর করতে হবে) তবে অবজেক্টস বা অ্যারেগুলি নয় (এপিআই ব্যবহার করে এগুলি সংরক্ষণ করার জন্য জেএসওএন তাদের সিরিয়ালিয়াস করা সম্ভব)। সেশন স্টোরেজ সাধারণত আপনাকে আপনার সার্ভার সাইড ল্যাঙ্গুয়েজ / ফ্রেমওয়ার্ক দ্বারা সমর্থিত কোনও আদিম বা অবজেক্টগুলি সঞ্চয় করতে দেয়।

ক্লায়েন্ট-সাইড বনাম সার্ভার-সাইড

যেহেতু এইচটিটিপি একটি রাষ্ট্রবিহীন প্রোটোকল - ওয়েব অ্যাপ্লিকেশনগুলির কাছে ওয়েব সাইটে ফিরে আসার সময় পূর্ববর্তী পরিদর্শন থেকে কোনও ব্যবহারকারীকে চিহ্নিত করার কোনও উপায় নেই - সেশন ডেটাটি সাধারণত পুনরাবৃত্ত দর্শনের জন্য ব্যবহারকারীকে সনাক্ত করতে একটি কুকি টোকেনের উপর নির্ভর করে (যদিও খুব কমই ইউআরএল প্যারামিটার ব্যবহার করা যেতে পারে একই উদ্দেশ্য)। ডেটাতে সাধারণত একটি স্লাইডিং মেয়াদোত্তীর্ণ সময় থাকে (প্রতিটিবার ব্যবহারকারীরা দেখার সময় পুনর্নবীকরণ করা হয়) এবং আপনার সার্ভার / ফ্রেমওয়ার্কের উপর নির্ভর করে ডেটা প্রক্রিয়াতে সঞ্চিত থাকবে (অর্থ ওয়েব সার্ভার ক্রাশ হয়ে গেলে বা পুনরায় চালু হলে ডেটা নষ্ট হবে) বা বাহ্যিকভাবে একটি রাষ্ট্রের সার্ভার বা ডাটাবেস। ওয়েব-ফার্ম (প্রদত্ত ওয়েবসাইটের জন্য একাধিক সার্ভার) ব্যবহার করার সময় এটিও প্রয়োজনীয়।

আপনার অ্যাপ্লিকেশন (সার্ভার সাইড) দ্বারা সেশন ডেটা পুরোপুরি নিয়ন্ত্রিত হওয়ায় এটি সংবেদনশীল বা প্রকৃতির সুরক্ষিত যে কোনও কিছুর জন্য সেরা জায়গা।

সার্ভার-সাইড ডেটার সুস্পষ্ট অসুবিধা হ'ল স্কেলিবিলিটি - অধিবেশন সময়কালের জন্য প্রতিটি ব্যবহারকারীর জন্য সার্ভার সংস্থান প্রয়োজন এবং কোনও অনুরোধের সাথে ক্লায়েন্ট সাইডের প্রয়োজনীয় কোনও ডেটা অবশ্যই প্রেরণ করতে হবে। যেহেতু কোনও ব্যবহারকারী অন্য সাইটে নেভিগেট করে বা তাদের ব্রাউজারটি বন্ধ করে দেয় তবে সার্ভারের জানার কোনও উপায় নেই, পরিত্যক্ত সেশনগুলির দ্বারা সমস্ত সার্ভার সংস্থানগুলি এড়াতে এড়াতে সেশন ডেটা অবশ্যই একটি নির্দিষ্ট সময়ের পরে শেষ হতে হবে। সেশন ডেটা ব্যবহার করার সময়, আপনার উচিত ডেটাটির মেয়াদ শেষ হয়ে গেছে এবং হারিয়ে যাবে এমন সম্ভাবনা সম্পর্কে সচেতন হওয়া উচিত, বিশেষত দীর্ঘ ফর্মযুক্ত পৃষ্ঠাগুলিতে। ব্যবহারকারী যদি তাদের কুকিগুলি মুছে ফেলে বা ব্রাউজার / ডিভাইসগুলি স্যুইচ করে তবে এটিও হারিয়ে যাবে।

কিছু ওয়েব ফ্রেমওয়ার্ক / বিকাশকারীরা অধিবেশনটির মেয়াদ শেষ না হওয়ার জন্য কোনও ফর্মের এক পৃষ্ঠার থেকে অন্য পৃষ্ঠায় ডেটা বজায় রাখতে লুকানো এইচটিএমএল ইনপুট ব্যবহার করে।

লোকালস্টোরেজ, সেশনসোজারেজ এবং কুকিজ সবই "একই-উত্স" নিয়মের সাপেক্ষে যার অর্থ ব্রাউজারগুলির দ্বারা শুরু হওয়া তথ্য সেট করা ডোমেন ব্যতীত ডেটা অ্যাক্সেস রোধ করা উচিত।

ক্লায়েন্ট স্টোরেজ প্রযুক্তিগুলিতে আরও পড়ার জন্য এইচটিএমএল 5 তে ডুব দিন


34
সাবধানতা: সেশনস্টোরেজ, স্থানীয় স্টোরেজ প্রমাণীকরণ তথ্যের জন্য উপযুক্ত নয়। সেগুলি স্বয়ংক্রিয়ভাবে সার্ভারে প্রেরণ করা হয় না। এর অর্থ হ'ল কোনও ব্যবহারকারী যদি ম্যানুয়ালি URL পরিবর্তন করে, বা এইচটিএমএল লিঙ্কগুলিতে ক্লিক করে, আপনি প্রমাণীকরণের তথ্য পাবেন না get এমনকি আপনি যদি এইচটিএমএল লিঙ্কগুলি আবারও লেখেন তবে আপনাকে ইউআরএল থেকে প্রমাণীকরণের তথ্যটি দিতে বাধ্য করা হবে যা কোনও সুরক্ষা নম্বর নয়। দিন শেষে, আপনি কুকিজ ব্যবহার করতে বাধ্য হবেন। সম্পর্কিত বিষয়ের জন্য stackoverflow.com/q/26556749/14731 দেখুন ।
গিলি

23
হবে sessionStorageযখন মুছে যাবে জানালা বন্ধ, বা, ট্যাব?
trysis

34
ট্যাবটি বন্ধ হয়ে গেলে সেশনস্টোরেজ মোছা হবে।
rcarrillopadron

10
@ গিলি কুকি ব্যবহার না করে ইউআরএল-এর উপর লেখকের তথ্যটি কেন একমাত্র বিকল্প? কেন এটি একটি HTTP শিরোনামে পাস করবেন না?
yby

21
@ গিলি আপনার সঠিক বলার জন্য যে এটি স্বয়ংক্রিয়ভাবে প্রেরণ করে না, তবে এটি যথাযথ নয় বলে সঠিক নয়। আমি আমার ক্লায়েন্টদের জন্য বেরিয়ে এসেছি এমন অনেকগুলি উত্পাদন অ্যাপ্লিকেশনগুলিতে লোকালস্টোরেশন এবং সেশন স্টোরেজ ব্যবহার করি এবং হেডারগুলিতে আইডি এবং একটি টোকেন প্রেরণের সাথে লোকালস্টোরেজ / সেশন স্টোরেজের উপর নির্ভর করার কারণে একটি দুর্বলতা নেই। এমনকি সার্ভারে কম লোড। এছাড়াও এই পৃষ্ঠাটি পুনরায় লোড এবং অ্যাপ্লিকেশন লোডিং হুকগুলিতে একটি ইভেন্টকে আমার ব্যাকএন্ড জিজ্ঞাসা করার জন্য আবদ্ধ করে রাখি যদি এই ব্যবহারকারীরা এখনও প্রমাণীকৃত থাকে। দুর্দান্ত কাজ করে। সত্যায়িত হ্যাপি! সম্পাদনা: এমন একটি সিএসআরএফ টোকেন যা আরও বেশি সুরক্ষা যুক্ত করে।
নোডাড্ড

74
  1. স্থানীয় সঞ্চয়স্থান

    পেশাদাররা :

    1. ওয়েব স্টোরেজকে কুকিগুলির উন্নতি হিসাবে সরলভাবে দেখা যেতে পারে, যা অনেক বেশি স্টোরেজ ক্ষমতা প্রদান করে। আপনি যদি মজিলা উত্স কোডটি দেখেন তবে আমরা দেখতে পাব যে 5120KB ( 5MB যা ক্রোমের 2.5 মিলিয়ন অক্ষরের সমান ) সম্পূর্ণ ডোমেনের জন্য ডিফল্ট স্টোরেজ আকার। এটি আপনাকে একটি সাধারণ 4KB কুকির চেয়ে বেশি কাজ করার সুযোগ দেয়।
    2. ক্লায়েন্ট এবং সার্ভারের মধ্যে ট্র্যাফিকের পরিমাণ হ্রাস - প্রতিটি এইচটিটিপি অনুরোধের জন্য এইচটিএমএল, চিত্রগুলি, জাভাস্ক্রিপ্ট, সিএসএস ইত্যাদির জন্য সার্ভারে ডেটা ফেরত পাঠানো হয় না।
    3. লোকালস্টোরেজে সংরক্ষিত ডেটা স্পষ্টভাবে মুছে ফেলা পর্যন্ত স্থায়ী থাকে। করা পরিবর্তনগুলি সংরক্ষিত হয় এবং সাইটে বর্তমান এবং ভবিষ্যতের সব ভিজিটের জন্য উপলব্ধ।

    কনস :

    1. এটি সম-উত্স নীতিতে কাজ করে । সুতরাং, সঞ্চিত ডেটা কেবল একই উত্সে উপলভ্য হবে।
  2. বিস্কুট

    পেশাদাররা:

    1. অন্যের তুলনায় আফাইক কিছুই নেই।

    কনস:

    1. 4K সীমাটি পুরো কুকির জন্য, নাম, মান, মেয়াদ শেষ হওয়ার তারিখ ইত্যাদি most
    2. ক্লায়েন্ট এবং সার্ভারের মধ্যে ট্র্যাফিকের পরিমাণ বৃদ্ধি করে - প্রতিটি এইচটিটিপি অনুরোধের জন্য এইচটিএমএল, চিত্রগুলি, জাভাস্ক্রিপ্ট, সিএসএস ইত্যাদির জন্য সার্ভারে ডেটা ফেরত পাঠানো হয়।

      সাধারণত, নিম্নলিখিত অনুমোদিত:

      • মোট 300 কুকি
      • প্রতি কুকিতে 4096 বাইট
      • 20 ডোমেন প্রতি কুকি
      • প্রতি ডোমেন 81920 বাইট (সর্বোচ্চ আকারের 4096 = 81920 বাইট 20 টি কুকি দেওয়া হয়েছে))
  3. sessionStorage

    পেশাদাররা:

    1. এটি অনুরূপ localStorage
    2. ডেটা অবিচল নয় অর্থাৎ তথ্য কেবল উইন্ডোতে পাওয়া যায় (বা ক্রোম এবং ফায়ারফক্সের মতো ব্রাউজারগুলিতে ট্যাব)। ডেটা কেবল পৃষ্ঠা সেশনের সময় উপলব্ধ। করা পরিবর্তনগুলি সংরক্ষণ করা হয় এবং বর্তমান পৃষ্ঠার জন্য উপলব্ধ, পাশাপাশি একই উইন্ডোতে সাইটে ভবিষ্যতের দর্শন। একবার উইন্ডোটি বন্ধ হয়ে গেলে স্টোরেজটি মোছা হবে।

    কনস:

    1. ডেটাটি কেবল সেট করা উইন্ডো / ট্যাবটির ভিতরেই উপলব্ধ।
    2. পছন্দ করুন localStorage, এটি সম-উত্স নীতিতে কাজ করে । সুতরাং, সঞ্চিত ডেটা কেবল একই উত্সে উপলভ্য হবে।

সমস্ত ট্যাবগুলিতে চেকআউট করুন - ক্রস-আদি ব্রাউজার ট্যাবগুলির মধ্যে কীভাবে সহজ যোগাযোগের ব্যবস্থা করা যায়।


13
কুকিজ : " প্রতিটি HTTP এর প্রয়োজনীয়তার জন্য ডেটা সার্ভারে ফিরে পাঠানো হয় "। কিছু ব্যবহারের ক্ষেত্রে (প্রমাণীকরণ প্রক্রিয়া মত) এটিও একটি সুবিধা হিসাবে বিবেচিত হতে পারে। সেশন স্টোরেজ : " পরিবর্তনগুলি কেবল উইন্ডো প্রতি উপলব্ধ (বা ক্রোম এবং ফায়ারফক্সের মতো ব্রাউজারগুলিতে ট্যাব) পাওয়া যায় "। আমি মনে করি এটি তৈরি করা ভাল better " পৃষ্ঠাগুলির সেশন চলাকালীন পরিবর্তনগুলি কেবলমাত্র উপলভ্য "। ব্রাউজারটি খোলা থাকে এবং পৃষ্ঠা পুনরায় লোড এবং পুনরুদ্ধারের উপর থেকে যতক্ষণ বেঁচে থাকে ততক্ষণ পৃষ্ঠার সেশন স্থায়ী হয় (এমডিএন থেকে: developer.mozilla.org/en/docs/Web/API/Window/sessionStorage )
ডেনিজ

আপডেট করা হয়েছে! ধন্যবাদ @ ডেনিজটোপ্রাক
সফটওয়ার

1
@ সফটওয়ার: সেশনস্টোরেজ - কন 2 : "ডেটা স্থির নয় অর্থাৎ উইন্ডো / ট্যাবটি বন্ধ হয়ে গেলে এটি হারিয়ে যাবে" " - এটি অবশ্যই একটি ত্রুটি নয়। আমি বলব এটি একটি সুবিধা। এটি সর্বোপরি "সেশন" স্টোরেজ। এটি সেভাবে কাজ করার জন্য ডিজাইন করা হয়েছে।
ডেভস্ট্রাক্টর

@ দেবস্ট্রাক্টর হ্যাঁ, আপনি ঠিক বলেছেন। আমি এটি স্থানীয়ভাবে কিছু ডেটা সঞ্চয় করার দিক দিয়ে ভেবেছিলাম। উত্তর আপডেট করেছেন। যে ইশারা জন্য ধন্যবাদ।
সফটওয়ার

56

ঠিক আছে, লোকালস্টোরেশন হিসাবে এটি আপনার ব্রাউজারগুলির জন্য এটি স্থানীয় স্টোরেজ হিসাবে পরিচিত, এটি 10 এমবি পর্যন্ত সাশ্রয় করতে পারে , সেশনস্টোরেজ একই কাজ করে, তবে এটির নাম হিসাবে বলা হচ্ছে এটি সেশন ভিত্তিক এবং আপনার ব্রাউজারটি বন্ধ করার পরে মুছে ফেলা হবে, এছাড়াও লোকালস্টোরেজের চেয়ে কম সাশ্রয় করতে পারে, 5MB অবধি , তবে কুকিজগুলি আপনার ব্রাউজারে খুব ছোট ডেটা সংরক্ষণ করে, এটি সংরক্ষণ করতে পারে 4KB করতে পারে এবং সার্ভার বা ব্রাউজার উভয়ের মাধ্যমেই অ্যাক্সেস করা যায় ...

আমি এক নজরে পার্থক্যগুলি দেখানোর জন্য নীচের চিত্রটিও তৈরি করেছি:

স্থানীয় স্টোরেজ, সেশনসোজারেজ এবং কুকিজ


25

এগুলি জাভাস্ক্রিপ্টে 'উইন্ডো' অবজেক্টের বৈশিষ্ট্য, ঠিক যেমন ডকুমেন্টটি উইন্ডো অবজেক্টের একটি বৈশিষ্ট্য যা DOM অবজেক্টগুলিকে ধারণ করে।

সেশন স্টোরেজ সম্পত্তি পৃষ্ঠা সেশনের সময়কালের জন্য উপলভ্য প্রতিটি প্রদত্ত উত্সের জন্য পৃথক স্টোরেজ অঞ্চল বজায় রাখে ততক্ষণ পৃষ্ঠা পুনরায় লোড এবং পুনরুদ্ধার সহ ব্রাউজার খোলা থাকে।

স্থানীয় স্টোরেজ একই কাজ করে তবে ব্রাউজারটি বন্ধ হয়ে গেলে এবং পুনরায় খোলার পরেও তা অবিরত থাকে।

আপনি নিম্নরূপে সঞ্চিত ডেটা সেট এবং পুনরুদ্ধার করতে পারেন:

sessionStorage.setItem('key', 'value');

var data = sessionStorage.getItem('key');

একইভাবে লোকালস্টোরেজের জন্য।


10
কেবল যুক্ত করতে - sessionStorageএমনকি একটি নতুন ট্যাব একটি নতুন উইন্ডো। সুতরাং একটি ট্যাবে একটি নির্দিষ্ট ডোমেনের জন্য সঞ্চিত কোনও কিছুই পরের ট্যাবে একই ডোমেনে উপলভ্য হবে না।
আরবিটি

5

স্থানীয় স্টোরেজ: এটি মেয়াদোত্তীর্ণ তারিখ ছাড়াই ব্যবহারকারীর তথ্য ডেটা সংরক্ষণ করে।

স্থানীয় স্টোরেজে 5-10 এমবি অফলাইন ডেটা সঞ্চয় করতে পারে।

//Set the value in a local storage object
localStorage.setItem('name', myName);

//Get the value from storage object
localStorage.getItem('name');

//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege

সেশন স্টোরেজ: এটি কোনও স্থানীয় ব্যবহারকারীর দ্বারা ব্রাউজার উইন্ডোজ বন্ধ হয়ে গেলে সমস্ত উইন্ডো মুছে ফেলা ব্যতীত স্থানীয় স্টোরেজ তারিখের মতো।

সেশনে স্টোরেজ 5 এমবি ডেটা সঞ্চয় করতে পারে

//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";

সেশন : একটি অধিবেশন একটি সার্ভারে সঞ্চিত একটি বৈশ্বিক পরিবর্তনশীল able প্রতিটি সেশনে একটি অনন্য আইডি বরাদ্দ করা হয় যা সঞ্চিত মানগুলি পুনরুদ্ধার করতে ব্যবহৃত হয়।

কুকিজ : কুকিগুলি হ'ল ডেটা, ছোট কম্পিউটারে আপনার কম্পিউটারে নাম-মান জোড় হিসাবে সংরক্ষণ করা হয়। একবার কোনও কুকি সেট হয়ে গেলে, সমস্ত পৃষ্ঠার অনুরোধগুলি অনুসরণ করে যে কুকির নাম এবং মান ফিরে আসে।


2

ওয়েব স্টোরেজ এপিআই এমন একটি প্রক্রিয়া সরবরাহ করে যার দ্বারা ব্রাউজারগুলি কুকি ব্যবহারের চেয়ে অনেক বেশি স্বজ্ঞাত ফ্যাশনে কী / মান জোড়া নিরাপদে সংরক্ষণ করতে পারে। ওয়েব সংগ্রহস্থল এপিআই প্রসারিত Windowদুটি নতুন বৈশিষ্ট্য সঙ্গে বস্তুর - Window.sessionStorageএবং Window.localStorage- এর মধ্যে কোনওটির অনুরোধ স্টোরেজ অবজেক্টের একটি উদাহরণ তৈরি করবে, যার মাধ্যমে ডেটা আইটেমগুলি সেট, পুনরুদ্ধার এবং মুছে ফেলা যায়। প্রতিটি উত্স (ডোমেন) এর জন্য sessionStorageএবং পৃথক স্টোরেজ অবজেক্ট ব্যবহার করা হয় localStorage

স্টোরেজ অবজেক্টগুলি সাধারণ কী-ভ্যালোর স্টোরগুলি, অবজেক্টগুলির মতো, তবে তারা পৃষ্ঠা লোডের মাধ্যমে অক্ষত থাকে

localStorage.colorSetting = '#a4509b';
localStorage['colorSetting'] = '#a4509b';
localStorage.setItem('colorSetting', '#a4509b');

কী এবং মানগুলি সর্বদা স্ট্রিং থাকে । যেকোন ধরণের সঞ্চয় করতেconvert it to Stringএবং তারপরে এটি সঞ্চয় করতে। এটি সর্বদাStorage interfaceপদ্ধতিব্যবহারকরারপরামর্শ দেওয়া হয়।

var testObject = { 'one': 1, 'two': 2, 'three': 3 };
// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('Converting String to Object: ', JSON.parse(retrievedObject));

ওয়েব স্টোরেজ মধ্যে দুটি প্রক্রিয়া নিম্নলিখিত:

  • সেশনস স্টোরেজ প্রতিটি প্রদত্ত উত্সের জন্য পৃথক স্টোরেজ ক্ষেত্র বজায় রাখে একই-উত্স নীতি যা পৃষ্ঠা সেশনের সময়কালের জন্য উপলব্ধ থাকে (যতক্ষণ না ব্রাউজার খোলা থাকে, পৃষ্ঠা পুনরায় লোড এবং পুনরুদ্ধার সহ)।
  • লোকালস্টোরেশন একই কাজ করে, তবে ব্রাউজারটি বন্ধ হয়ে গেলে এবং পুনরায় খোলা থাকা অবস্থায়ও থেকে যায়।

স্টোরেজ « স্থানীয় স্টোরেজটি ডিস্কে ডেটা লেখেন, যখন সেশন স্টোরেজ ডেটাটি কেবল মেমোরিতে লিখে দেয়। আপনার অ্যাপটি প্রস্থান করার সময় সেশন স্টোরেজে লিখিত কোনও ডেটা মুছে ফেলা হয়।

সর্বাধিক সঞ্চয়স্থান উপলব্ধ ব্রাউজার প্রতি ভিন্ন , কিন্তু অধিকাংশ ব্রাউজার বাস্তবায়িত হয়েছে অন্তত W3C সর্বোচ্চ সঞ্চয় সীমাতে সুপারিশ 5MB

+----------------+--------+---------+-----------+--------+
|                | Chrome | Firefox | Safari    |  IE    |
+----------------+--------+---------+-----------+--------+
| LocalStorage   | 10MB   | 10MB    | 5MB       | 10MB   |
+----------------+--------+---------+-----------+--------+
| SessionStorage | 10MB   | 10MB    | Unlimited | 10MB   |
+----------------+--------+---------+-----------+--------+

সর্বদা লোকালস্টোরেজ সুরক্ষা এবং কোটা ত্রুটি ছাড়িয়ে গেছে catch

  • কোটাএক্সসিডেড এরির : যখন এই ফাংশনে স্টোরেজ সীমা অতিক্রম করেwindow.sessionStorage.setItem(key, value);, নতুন মান সেট করা না গেলে এটি একটি "কোটাএক্সসিটেড এরির" ডমেক্সেক্সেপশন ব্যতিক্রম করে। (উদাহরণস্বরূপ, ব্যবহারকারী যদি সাইটের জন্য সঞ্চয়স্থান অক্ষম করে থাকে বা কোটা ছাড়িয়ে গেছে তবে সেটিংস ব্যর্থ হতে পারে))

    DOMException। QUOTA_EXCEEDED_ERR উদাহরণস্বরূপ 22 টি ED_ বেহালার

  • SecurityError :Uncaught SecurityError: Access to 'localStorage' is denied for this document

    CHROME:-Privacy and security « Content settings « Cookies « Block third-party cookies.

স্টোরেজ ইভেন্ট when স্টোরেজ ইভেন্টটি কোনও দস্তাবেজের উইন্ডো অবজেক্টে স্টোরেজ এরিয়া পরিবর্তন করা হয় fired কোনও ব্যবহারকারী এজেন্ট যখন কোনও দস্তাবেজের জন্য স্টোরেজ নোটিফিকেশন প্রেরণ করতে চান, তখন ব্যবহারকারী এজেন্টকে স্টোরেজএভেন্ট ব্যবহার করে ডকুমেন্ট অবজেক্টের উইন্ডো অবজেক্টে স্টোরেজ নামের ইভেন্টটি ফায়ার করার জন্য একটি কার্য সারি করতে হবে।

দ্রষ্টব্য: বাস্তব বিশ্বের উদাহরণের জন্য, ওয়েব স্টোরেজ ডেমো দেখুনউত্স কোড পরীক্ষা করে দেখুন

স্টোরেজের পরিবর্তনগুলি ধরার জন্য ডোম / উইন্ডোতে স্টোরেজ ইভেন্টটি শুনুন। বেহালার


কুকিজ (ওয়েব কুকি, ব্রাউজার কুকি) কুকিগুলি হ'ল ডেটা, ছোট কম্পিউটারে আপনার কম্পিউটারে নাম-মান হিসাবে সংরক্ষণ করা হয়।

ডকুমেন্ট.কুকি ব্যবহার করে জাভাস্ক্রিপ্ট অ্যাক্সেস

ডকুমেন্ট.কুকি সম্পত্তি ব্যবহার করে জাভাস্ক্রিপ্টের মাধ্যমে নতুন কুকিগুলিও তৈরি করা যেতে পারে এবং যদি এইচটিটিপিআনলি পতাকা সেট না করা থাকে তবে জাভাস্ক্রিপ্ট থেকেও বিদ্যমান কুকিজ অ্যাক্সেস করা যায়।

document.cookie = "yummy_cookie=choco"; 
document.cookie = "tasty_cookie=strawberry"; 
console.log(document.cookie); 
// logs "yummy_cookie=choco; tasty_cookie=strawberry"

সুরক্ষিত এবং এইচটিটিপি কেবলমাত্র কুকি এইচটিটিপি রাজ্য পরিচালনা ব্যবস্থাপনার

কোনও ব্যবহারকারী এবং তাদের সত্যায়িত সেশন সনাক্ত করতে কুকিগুলি প্রায়শই ওয়েব অ্যাপ্লিকেশনে ব্যবহৃত হয়

এইচটিটিপি অনুরোধ গ্রহণ করার সময়, একটি সার্ভার প্রতিক্রিয়া সহ একটি সেট-কুকি শিরোনাম পাঠাতে পারে । কুকি সাধারণত ব্রাউজার দ্বারা সংরক্ষণ করা হয় এবং তারপরে কুকি একটি কুকি এইচটিটিপি শিরোনামের ভিতরে একই সার্ভারে করা অনুরোধের সাথে প্রেরণ করা হয়।

Set-Cookie: <cookie-name>=<cookie-value> 
Set-Cookie: <cookie-name>=<cookie-value>; Expires=<date>

ক্লায়েন্ট বন্ধ হয়ে গেলে সেশন কুকিজ সরানো হবে। তারা মেয়াদ উত্তীর্ণ বা সর্বোচ্চ-বয়স নির্দেশাবলী নির্দিষ্ট করে না।

Set-Cookie: sessionid=38afes7a8; HttpOnly; Path=/

স্থায়ী কুকিজ একটি নির্দিষ্ট তারিখে (মেয়াদোত্তীর্ণ) বা নির্দিষ্ট সময়ের (সর্বাধিক বয়স) পরে মেয়াদ শেষ হয়।

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly

কুকি এইচটিটিপি অনুরোধ শিরোনামে সেট-কুকি শিরোলেখ সহ সার্ভারের আগে প্রেরিত HTTP কুকিজ রয়েছে। এইচটিটিপি-কেবল কুকিগুলি জাভাস্ক্রিপ্টের মাধ্যমে ডকুমেন্ট.কুকি সম্পত্তি, এক্সএমএলএইচটিটিপিউরেস্ট এবং অনুরোধ এপিআই-এর মাধ্যমে ক্রস-সাইট স্ক্রিপ্টিং (এক্সএসএস) এর বিরুদ্ধে আক্রমণ প্রশমিত করার জন্য অ্যাক্সেসযোগ্য নয়।

কুকিজ মূলত তিনটি উদ্দেশ্যে ব্যবহৃত হয়:

  • সেশন ম্যানেজমেন্ট «লগইনস, শপিং কার্ট, গেম স্কোর বা অন্য যে কোনও কিছুই সার্ভারের মনে রাখা উচিত
  • ব্যক্তিগতকরণ «ব্যবহারকারীর পছন্দসই, থিম এবং অন্যান্য সেটিংস
  • ট্র্যাকিং (রেকর্ডিং এবং ব্যবহারকারীর আচরণ বিশ্লেষণ) «কুকিগুলির সাথে একটি ডোমেন যুক্ত থাকে। এই ডোমেনটি আপনি যে পৃষ্ঠায় রয়েছেন তার ডোমেনের সমান হলে, কুকিজটি প্রথম পক্ষের কুকি হিসাবে বলা হয়। ডোমেনটি পৃথক হলে এটি তৃতীয় পক্ষের কুকি হিসাবে বলা হয়। প্রথম-পক্ষের কুকিগুলি কেবল সার্ভার সেটিংয়ে পাঠানো হলেও সেগুলিতে একটি ওয়েব পৃষ্ঠায় অন্যান্য ডোমেনের (যেমন বিজ্ঞাপনের ব্যানার) সার্ভারে সঞ্চিত চিত্র বা অন্যান্য উপাদান থাকতে পারে। এই তৃতীয় পক্ষের উপাদানগুলির মাধ্যমে প্রেরিত কুকিগুলিকে তৃতীয় পক্ষের কুকিজ বলা হয় এবং মূলত ওয়েব জুড়ে বিজ্ঞাপন এবং ট্র্যাকিংয়ের জন্য ব্যবহৃত হয়।

"ব্যবহারকারী সম্পর্কে তথ্য কীভাবে মনে রাখা যায়" সমস্যাটি সমাধানের জন্য কুকিজ উদ্ভাবিত হয়েছিল:

  • যখন কোনও ব্যবহারকারী কোনও ওয়েব পৃষ্ঠাতে যান, তখন তার নামটি কোনও কুকিতে সংরক্ষণ করা যায়।
  • পরের বার ব্যবহারকারী পৃষ্ঠাটি দেখার জন্য, পৃষ্ঠার অন্তর্ভুক্ত কুকিজগুলির অনুরোধে যুক্ত করা হবে। ব্যবহারকারীদের সম্পর্কে তথ্য "মনে রাখার" জন্য সার্ভারটি প্রয়োজনীয় ডেটা পেয়ে যায়।

GitHubGist উদাহরণ


সংক্ষিপ্তসার হিসাবে,

  • লোকালস্টোরেশন বিভিন্ন ট্যাব বা উইন্ডো ধরে রাখে এবং কোটা সীমা সম্পর্কে ডোমেন সুরক্ষা নীতি এবং ব্যবহারকারীর পছন্দ অনুসারে আমরা ব্রাউজারটি বন্ধ করে দিই।
  • আমরা যদি অন্য ট্যাব বা উইন্ডো দিয়ে সার্ফ করি তবে এটি ট্যাবটি (শীর্ষ-স্তরের ব্রাউজিং প্রসঙ্গ) বন্ধ করে দিলে সেশনসটরেজ অবজেক্টটি টিকে থাকে না।
  • ওয়েব স্টোরেজ (সেশন, স্থানীয়) আমাদের প্রচুর পরিমাণে কী / মান জোড়া এবং প্রচুর পাঠ্য সংরক্ষণ করতে দেয়, যা কুকির মাধ্যমে করা অসম্ভব কিছু।
  • সংবেদনশীল ক্রিয়াকলাপের জন্য ব্যবহৃত কুকিজগুলির স্বল্পকালীন জীবনকাল হওয়া উচিত।
  • কুকিগুলি মূলত ওয়েব জুড়ে বিজ্ঞাপন এবং ট্র্যাকিংয়ের জন্য ব্যবহৃত হয়। গুগলের দ্বারা ব্যবহৃত কুকিজের উদাহরণগুলি দেখুন ।
  • কুকিজ প্রতিটি অনুরোধের সাথে প্রেরণ করা হয়, যাতে তারা কর্মক্ষমতা আরও খারাপ করতে পারে (বিশেষত মোবাইল ডেটা সংযোগের জন্য)। ক্লায়েন্ট স্টোরেজের জন্য আধুনিক এপিআই হ'ল ওয়েব স্টোরেজ এপিআই (লোকালস্টোরেজ এবং সেশনস স্টোরেজ) এবং ইনডেক্সডডিবি।

2

স্থানীয় স্টোরেজ :

  • ওয়েব স্টোরেজকে কুকিগুলির উন্নতি হিসাবে সরলভাবে দেখা যেতে পারে, যা অনেক বেশি স্টোরেজ ক্ষমতা প্রদান করে। উপলভ্য আকারটি 5MB যা সাধারণত 4KB কুকির চেয়ে বেশি কাজ করতে পারে।

  • ক্লায়েন্ট এবং সার্ভারের মধ্যে ট্র্যাফিকের পরিমাণ হ্রাস - প্রতিটি এইচটিটিপি অনুরোধের জন্য এইচটিএমএল, চিত্রগুলি, জাভাস্ক্রিপ্ট, সিএসএস ইত্যাদির জন্য সার্ভারে ডেটা ফেরত পাঠানো হয় না।

  • লোকালস্টোরেজে সংরক্ষিত ডেটা স্পষ্টভাবে মুছে ফেলা পর্যন্ত স্থায়ী থাকে। করা পরিবর্তনগুলি সংরক্ষিত হয় এবং সাইটে বর্তমান এবং ভবিষ্যতের সব ভিজিটের জন্য উপলব্ধ।

  • এটি সম-উত্স নীতিতে কাজ করে। সুতরাং, সঞ্চিত ডেটা কেবল একই উত্সে উপলভ্য হবে।

কুকিজ:

  • আমরা প্রতিটি কুকির জন্য মেয়াদোত্তীর্ণ সময় নির্ধারণ করতে পারি

  • 4K সীমাটি পুরো কুকির জন্য, নাম, মান, মেয়াদ শেষ হওয়ার তারিখ ইত্যাদি most

  • ক্লায়েন্ট এবং সার্ভারের মধ্যে ট্র্যাফিকের পরিমাণ বৃদ্ধি করে - প্রতিটি এইচটিটিপি অনুরোধের জন্য এইচটিএমএল, চিত্রগুলি, জাভাস্ক্রিপ্ট, সিএসএস ইত্যাদির জন্য সার্ভারে ডেটা ফেরত পাঠানো হয়।

sessionStorage:

  • এটি স্থানীয় স্টোরেজ এর অনুরূপ।
  • পরিবর্তনগুলি কেবল উইন্ডো প্রতি উপলব্ধ (বা ক্রোম এবং ফায়ারফক্সের মতো ব্রাউজারগুলিতে ট্যাব) পাওয়া যায়। করা পরিবর্তনগুলি সংরক্ষণ করা হয় এবং বর্তমান পৃষ্ঠার জন্য উপলব্ধ, পাশাপাশি একই উইন্ডোতে সাইটে ভবিষ্যতের দর্শন। একবার উইন্ডোটি বন্ধ হয়ে গেলে, স্টোরেজটি মোছা হয় ডেটা কেবলমাত্র উইন্ডো / ট্যাবটিতে সেট করা ছিল তার ভিতরেই উপলব্ধ।

  • ডেটা অবিরাম নয় অর্থাৎ উইন্ডো / ট্যাবটি বন্ধ হয়ে যাওয়ার পরে এটি হারিয়ে যাবে। লোকালস্টোরেশনের মতো, এটি একই-উত্স নীতিতে কাজ করে। সুতরাং, সঞ্চিত ডেটা কেবল একই উত্সে উপলভ্য হবে।


0

এখানে একটি দ্রুত পর্যালোচনা এবং একটি সহজ এবং দ্রুত বোঝার সাথে

এখানে চিত্র বর্ণনা লিখুন

ফ্রেইকোডেক্যাম্প থেকে শিক্ষক বিউ কার্নসের কাছ থেকে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.