আমার এই উত্তরটি লেখার সময়, এই প্রশ্নের স্বীকৃত উত্তরে এটি প্রদর্শিত হয় যে প্রতিস্থাপনকারী কুকিটির Expires
মূল্য অতীতে থাকা অবস্থায় ব্রাউজারগুলিকে কোনও কুকি মুছতে হবে না । সে দাবি মিথ্যা। সেট Expires
অতীতে হতে মান বৈশিষ্ট-অনুবর্তী একটি কুকি মুছে ফেলার প্রণালী, এবং ব্যবহারকারী এজেন্ট এটা সম্মান বৈশিষ্ট দ্বারা প্রয়োজন হয়।
Expires
কুকি মুছে ফেলার জন্য অতীতে একটি বৈশিষ্ট্য ব্যবহার করা সঠিক এবং এটি অনুমিত দ্বারা নির্ধারিত কুকিজ অপসারণের উপায়। আরএফসি 6255 এর উদাহরণ বিভাগে বলা হয়েছে:
শেষ অবধি, একটি কুকি অপসারণ করতে, সার্ভার অতীতে একটি মেয়াদোত্তীকরণের তারিখ সহ একটি সেট-কুকি শিরোনাম প্রদান করে। সার্ভারটি কেবল তখনই কুকি সরিয়ে ফেলতে সক্ষম হবে যদি সেট-কুকি শিরোনামের পাথ এবং ডোমেন বৈশিষ্ট্যটি কুকি তৈরি হওয়ার সময় ব্যবহৃত মানের সাথে মেলে।
ব্যবহারকারী এজেন্ট আবশ্যকতা অধ্যায় নিম্নলিখিত প্রয়োজনীয়তা, যা একসঙ্গে প্রভাব প্রয়োগকারী একটি কুকি অবিলম্বে কেটে দেওয়ার জন্য করা আবশ্যক যদি ইউজার এজেন্ট একই নামের যার মেয়াদ শেষ হওয়ার তারিখ অতীতের সঙ্গে একটি নতুন কুকি গ্রহণ করে অন্তর্ভুক্ত
যদি [নতুন কুকি গ্রহণ করার সময়] কুকি স্টোরটিতে নতুন তৈরি কুকির মতো একই নাম, ডোমেন এবং পাথ সহ একটি কুকি থাকে:
- ...
- ...
- পুরাতন-কুকির তৈরি-সময়ের সাথে মেলে নতুন তৈরি কুকির তৈরির সময় আপডেট করুন।
- কুকি স্টোর থেকে পুরানো কুকি সরান।
নতুন তৈরি কুকিটি কুকির দোকানে intoোকান।
কুকির অতীতে মেয়াদ শেষ হওয়ার পরে একটি কুকি "মেয়াদোত্তীর্ণ" হয়।
ব্যবহারকারী এজেন্ট কুকি স্টোর থেকে সমস্ত মেয়াদোত্তীর্ণ কুকিজ অপসারণ করতে হবে, যদি কোনও সময়ে, কুকি স্টোরটিতে একটি মেয়াদোত্তীর্ণ কুকি উপস্থিত থাকে।
11.3, 11-4, এবং 12 এর উপরে পয়েন্টগুলির একত্রে অর্থ হ'ল যখন কোনও নতুন কুকি একই নাম, ডোমেন এবং পাথের সাথে প্রাপ্ত হয়, তখন পুরাতন কুকিটি অবশ্যই ছিন্ন করে নতুন কুকির সাথে প্রতিস্থাপন করতে হবে। অবশেষে, মেয়াদ শেষ হওয়া কুকিজ বিষয়ে আরও নির্দেশনা নিচে বিন্দু পরে যে কাজ, যে নতুন কুকি আবশ্যক এছাড়াও অবিলম্বে উচ্ছেদ করা হবে। অনুমানটি এই পয়েন্টে ব্রাউজারগুলিকে কোনও উইগল রুম দেয় না; যদি কোনও ব্রাউজার ব্যবহারকারীকে কুকির মেয়াদোত্তীকরণ নিষ্ক্রিয় করার বিকল্প প্রস্তাব করে, যেমন গৃহীত উত্তরটি কিছু ব্রাউজারের পরামর্শ দেয়, তবে এটি অনুমানের লঙ্ঘন হবে। (এই জাতীয় বৈশিষ্ট্যটির খুব সামান্য ব্যবহারও হবে এবং যতদূর আমি জানি এটি কোনও ব্রাউজারে নেই))
তাহলে, কেন এই প্রশ্নের ওপি এই পদ্ধতির ব্যর্থতা পর্যবেক্ষণ করেছে? যদিও আমি ইন্টারনেট এক্সপ্লোরার এর কপিটি পরীক্ষা করার জন্য একটি অনুলিপি ধুয়ে ফেলিনি, তবে আমার সন্দেহ হয় যে এটি ওপিটির Expires
মানটি ত্রুটিযুক্ত ছিল! তারা এই মানটি ব্যবহার করেছে:
expires=Thu, Jan 01 1970 00:00:00 UTC;
তবে এটি সিনট্যাক্টিকালি দুটি উপায়ে অবৈধ।
সিনট্যাক্স অধ্যায় বৈশিষ্ট নির্দেশনা যে মান Expires
অ্যাট্রিবিউটে একটি হওয়া আবশ্যক
rfc1123- তারিখ, [আরএফসি 2616], বিভাগ 3.3.1 এ সংজ্ঞায়িত
উপরের দ্বিতীয় লিঙ্কটি অনুসরণ করে, আমরা এটি ফর্ম্যাটটির উদাহরণ হিসাবে পেয়েছি:
Sun, 06 Nov 1994 08:49:37 GMT
এবং এটি সিনট্যাক্স সংজ্ঞাটি আবিষ্কার করুন ...
প্রশ্নাবলীর দ্বারা ব্যবহৃত তারিখগুলি দিনের মাসের বছরের ফরম্যাটে নয়, মাসের দিন বছরের ফরম্যাটে লেখা উচিত ।
বিশেষত, এটি rfc1123-date
নিম্নলিখিত হিসাবে সংজ্ঞা দেয় :
rfc1123-date = wkday "," SP date1 SP time SP "GMT"
এবং এর date1
মতো সংজ্ঞা দেয় :
date1 = 2DIGIT SP month SP 4DIGIT
; day month year (e.g., 02 Jun 1982)
এবং
UTC
টাইমজোন হিসাবে অনুমতি দেয় না ।
এই ফর্মটিতে টাইমজোন অফসেটগুলি কী এই ফর্ম্যাটে গ্রহণযোগ্য তা সম্পর্কে নিম্নলিখিত বিবৃতিটি রয়েছে:
সমস্ত HTTP তারিখ / সময় স্ট্যাম্পগুলি ব্যতিক্রম ছাড়াই গ্রিনউইচ মিন টাইম (GMT) তে প্রতিনিধিত্ব করা আবশ্যক।
আরো কি, যদি আমরা এই DATETIME বিন্যাসের মূল বৈশিষ্ট গভীরে, আমরা যে তার প্রাথমিক বৈশিষ্ট https://tools.ietf.org/html/rfc822 , সিনট্যাক্স অধ্যায় তালিকা "কেন্দ্রশাসিত অঞ্চল" ( "ইউনিভার্সাল টাইম" মানে ) সম্ভাব্য মান হিসাবে, তবে ইউটিসি (সমন্বিত ইউনিভার্সাল সময়) বৈধ হিসাবে তালিকাভুক্ত করে না । আমি যতদূর জানি, এই তারিখের ফর্ম্যাটে "ইউটিসি" ব্যবহার করা কখনই বৈধ ছিল না; এটা একটি বৈধ মান যখন বিন্যাস প্রথম 1982 উল্লেখিত হয়েছিল এবং HTTP- র বৈশিষ্ট একটি কঠোরভাবে অবলম্বন করেছেন ছিল না আরো "জিএমটি" ছাড়া অন্য সমস্ত "জোন" মান ব্যবহার নিষিদ্ধ দ্বারা বিন্যাসের নিয়ন্ত্রণমূলক সংস্করণ।
যদি এখানে প্রশ্নকারী প্রশ্নকর্তার পরিবর্তে এই জাতীয়Expires
বৈশিষ্ট্য ব্যবহার করে থাকে , তবে:
expires=Thu, 01 Jan 1970 00:00:00 GMT;
তাহলে সম্ভবত এটি কাজ করত।