সার্ভারে এবং ক্লায়েন্টে কুকি তৈরির মধ্যে পার্থক্য কী? এগুলিকে কি সার্ভার সাইড কুকিজ এবং ক্লায়েন্ট সাইড কুকিজ বলা হয়? কুকি তৈরির কোনও উপায় আছে যা কেবল সার্ভারে বা ক্লায়েন্টে পড়তে পারে?
সার্ভারে এবং ক্লায়েন্টে কুকি তৈরির মধ্যে পার্থক্য কী? এগুলিকে কি সার্ভার সাইড কুকিজ এবং ক্লায়েন্ট সাইড কুকিজ বলা হয়? কুকি তৈরির কোনও উপায় আছে যা কেবল সার্ভারে বা ক্লায়েন্টে পড়তে পারে?
উত্তর:
কুকিজ হ'ল ওয়েবসাইটগুলি ব্রাউজারে রাষ্ট্রের তথ্য সংরক্ষণের জন্য ব্যবহৃত মূল / মান জুটি। বলুন আপনার একটি ওয়েবসাইট রয়েছে (উদাহরণ.কম), যখন ব্রাউজার কোনও ওয়েবপৃষ্ঠাকে অনুরোধ করে তখন ওয়েবসাইট ব্রাউজারে তথ্য সংরক্ষণের জন্য কুকিজ প্রেরণ করতে পারে।
ব্রাউজার অনুরোধ উদাহরণ:
GET /index.html HTTP/1.1
Host: www.example.com
সার্ভার থেকে উদাহরণ উত্তর:
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: foo=10
Set-Cookie: bar=20; Expires=Fri, 30 Sep 2011 11:48:00 GMT
... rest of the response
এখানে ব্রাউজারে দুটি কুকি foo = 10 এবং বার = 20 সংরক্ষণ করা হয়েছে। দ্বিতীয়টি 30 সেপ্টেম্বর শেষ হবে। পরবর্তী প্রতিটি অনুরোধে ব্রাউজারটি কুকিজটি আবার সার্ভারে প্রেরণ করবে।
GET /spec.html HTTP/1.1
Host: www.example.com
Cookie: foo=10; bar=20
Accept: */*
সার্ভার সাইড কুকিজ "সেশন" হিসাবে পরিচিত। এই ক্ষেত্রে ওয়েবসাইটটি একটি অনন্য সেশন আইডেন্টিফায়ারযুক্ত ব্রাউজারে একটি কুকি সঞ্চয় করে। স্থিতির তথ্য (উপরে foo = 10 এবং বার = 20) সার্ভারে সঞ্চিত থাকে এবং সেশন শনাক্তকারীটি সার্ভারে সঞ্চিত ডেটার সাথে অনুরোধের সাথে মেলে।
আপনি সংরক্ষণের জন্য দুটি সেশন এবং কুকিজ ব্যবহার করতে পারেন: প্রমাণীকরণের ডেটা, ব্যবহারকারীর পছন্দসমূহ, একটি ই-বাণিজ্য ওয়েবসাইটে কোনও চার্টের সামগ্রী ইত্যাদি ...
সমাধানগুলির পক্ষে ভাল এবং কনসের নীচে। এগুলিই আমার মনে প্রথম আসে, অবশ্যই অন্যরা আছেন।
কুকি পেশাদাররা:
কুকি কনস:
সেশন পেশাদাররা:
সেশন কনস:
secure
?
আপনি সম্ভবত এইচটিটিপি কেবল কুকি এবং তাদের পাল্টা অংশের মধ্যে পার্থক্য বোঝাতে চান ?
এইচটিটিপি ক্লায়েন্ট সাইড জাভাস্ক্রিপ্টে কেবল কুকিই অ্যাক্সেস করা যায় না (কেবল পাঠানো বা এতে লিখিত) কেবল সার্ভার সাইড। যদি এইচটিটিপি কেবল পতাকাটি সেট না করা থাকে, বা কুকিটি (ক্লায়েন্ট সাইড) জাভাস্ক্রিপ্টে তৈরি করা হয়, তবে কুকিটি (ক্লায়েন্ট সাইড) জাভাস্ক্রিপ্ট পাশাপাশি সার্ভারের পাশ থেকেও পড়ে এবং লেখা যেতে পারে can
সমস্ত কুকি ক্লায়েন্ট এবং সার্ভার
এখানে কোন পার্থক্য নেই. একটি নিয়মিত কুকি সার্ভারের পাশ বা ক্লায়েন্টের পক্ষে সেট করা যায়। 'ক্লাসিক' কুকি প্রতিটি অনুরোধের সাথে ফেরত পাঠানো হবে। সার্ভার দ্বারা সেট করা একটি কুকি, প্রতিক্রিয়া হিসাবে ক্লায়েন্টকে প্রেরণ করা হবে। সার্ভারটি কেবল তখনই কুকি প্রেরণ করে যখন এটি স্পষ্টভাবে সেট করা বা পরিবর্তন করা হয়েছে, যখন ক্লায়েন্ট প্রতিটি অনুরোধে কুকি প্রেরণ করে।
তবে মূলত এটি একই কুকি।
তবে, আচরণ বদলে যেতে পারে
একটি কুকি মূলত একটি name=value
জুড়ি, তবে মানটি পরে আধা কোলন বিচ্ছিন্ন বৈশিষ্ট্যগুলির একগুচ্ছ হতে পারে যা কুকিটির (বা সার্ভার) দ্বারা যদি এটি প্রয়োগ করা হয় তবে কুকির আচরণকে প্রভাবিত করে । এই বৈশিষ্ট্যগুলি আজীবন, প্রসঙ্গ এবং বিভিন্ন সুরক্ষা সেটিংস সম্পর্কে হতে পারে।
শুধুমাত্র এইচটিটিপি (কেবলমাত্র সার্ভার নয়)
সেগুলির মধ্যে একটি বৈশিষ্ট্য কোনও সার্ভার দ্বারা সেট করা যেতে পারে যে এটি একটি এইচটিটিপি-কেবল কুকি। এর অর্থ হ'ল কুকিটি এখনও পিছনে পিছনে পাঠানো হয় তবে এটি জাভাস্ক্রিপ্টে উপলব্ধ হবে না। খেয়াল করুন, কুকি এখনও আছে! এটি ব্রাউজারে সুরক্ষিত একটি বিল্টইন, তবে কেউ যদি আই 5 এর মতো হাস্যকরভাবে পুরানো ব্রাউজার বা কোনও কাস্টম ক্লায়েন্ট ব্যবহার করে তবে তারা আসলে কুকিটি পড়তে পারে!
সুতরাং মনে হচ্ছে এখানে 'সার্ভার কুকিজ' রয়েছে তবে বাস্তবে তা নেই। এই কুকিগুলি এখনও ক্লায়েন্টের কাছে প্রেরণ করা হয়েছে। ক্লায়েন্টে কোনও কুকিকে সার্ভারে প্রেরণ করা থেকে বিরত করার কোনও উপায় নেই।
'একমাত্র-নেস' অর্জনের বিকল্প
আপনি যদি কেবলমাত্র সার্ভারে বা কেবল ক্লায়েন্টের কাছে কোনও মান সঞ্চয় করতে চান তবে আপনার অন্য কোনও ধরণের স্টোরেজ যেমন সার্ভারে একটি ফাইল বা ডাটাবেস বা ক্লায়েন্টের স্থানীয় স্টোরেজ প্রয়োজন need
document.cookie="foo=bar"
দ্বারা অনুসরণ fetch("/foobar", {credentials: 'include'} )
সেখানে কোনও কুকি ধারণকারী পাঠানো হচ্ছে foo=bar
। ডেভটুলস এবং কনসোল ব্যবহার করে সরাসরি এই সাইটে এই কোডটি চেষ্টা করেছিলেন।
হ্যাঁ আপনি কুকি তৈরি করতে পারেন যা কেবল সার্ভার-সাইডে পড়া যায়। এগুলিকে "HTTP কেবল" -র কুকি বলা হয়, যেমন ইতিমধ্যে অন্যান্য উত্তরে ব্যাখ্যা করা হয়েছে
না, "কুকিজ" তৈরি করার কোনও উপায় নেই (যা আমি জানি) যা কেবল ক্লায়েন্টের পক্ষে পড়তে পারে। কুকিগুলি ক্লায়েন্ট-সার্ভার যোগাযোগের সুবিধার্থে বোঝানো হয়।
তবে আপনি যদি কিছু পছন্দ করেন তবে "ক্লায়েন্ট-কেবল-কুকিজ" পছন্দ করুন এর একটি সহজ উত্তর আছে: "স্থানীয় স্টোরেজ" ব্যবহার করুন।
স্থানীয় স্টোরেজ কুকিজের তুলনায় প্রকৃতপক্ষে সিন্টেক্সিকভাবে ব্যবহার করা সহজ। স্থানীয় স্টোরেজ বনাম কুকিজের একটি ভাল সাধারণ সংক্ষিপ্তসারটি এখানে পাওয়া যাবে:
একটি বিন্দু: আপনি জাভাস্ক্রিপ্টে তৈরি কুকিগুলি জিইউআই সম্পর্কিত জিনিসগুলি কেবল ক্লায়েন্ট-সাইডে সঞ্চয় করতে ব্যবহার করতে পারেন। তবে কুকি প্রত্যেকটি অনুরোধের জন্য সার্ভারে প্রেরণ করা হয়, এটি এইচটি-পি-পি-র অনুরোধ শিরোনামের অংশ হয়ে যায় যাতে করে অনুরোধটিতে আরও ডেটা থাকে এবং প্রেরণে ধীর হয়ে যায়।
যদি আপনার পৃষ্ঠায় চিত্র এবং সিএসএস-ফাইল এবং স্ক্রিপ্টগুলির মতো 50 সংস্থান রয়েছে তবে কুকি প্রতিটি অনুরোধের সাথে পাঠানো হয় (সাধারণত)। এর মধ্যে আরও কি প্রতিটি ওয়েব অনুরোধ ব্রাউজারের কুকিজ প্রেরণ করে?
স্থানীয় স্টোরেজে সেই ডেটা স্থানান্তর সম্পর্কিত অসুবিধা নেই, এটি কোনও ডেটা প্রেরণ করে না। বেশ ভালো.