এইচটিটিপি অনুরোধে একাধিক কুকি শিরোনাম অনুমোদিত?


96

সাধারণত, একটি ব্রাউজার কুকিজকে একটি একক Cookieশিরোনামে ভাগ করে দেয়, যেমন:

Cookie: a=1; b=2

মানক কি এগুলিকে পৃথক শিরোনাম হিসাবে প্রেরণে মঞ্জুরি দেয়:

Cookie: a=1
Cookie: b=2

নাকি তাদের সর্বদা একই লাইনে থাকতে হবে?

উত্তর:


131

বিষয়টিতে বিশদ অনুসন্ধানের সময় এই পৃষ্ঠায় পরিবর্তিত হয়েছে। থেকে একটি উদ্ধৃতি HTTP State Management Mechanism, বোঝায় যা RFC 6265 কর্তব্য জিনিষ স্বচ্ছ করে তুলতে হবে:

5.4। কুকি শিরোলেখ

যখন ব্যবহারকারী এজেন্ট একটি HTTP অনুরোধ উত্পন্ন করে, ব্যবহারকারী এজেন্ট একাধিক কুকির শিরোনাম ক্ষেত্র সংযুক্ত করা উচিত নয়।

মনে হচ্ছে একাধিক ব্যবহারের দেখায় Cookieহেডার হয় , আসলে, নিষিদ্ধ!


8
এই ক্রেজিটি নতুন ফ্যাংড আরএফসির। :)
কিলার

12
নোট করুন যে সার্ভারটি একাধিক Set-Cookieশিরোনামের সাথে প্রতিক্রিয়া জানাতে পারে : tools.ietf.org/html/rfc6265# পৃষ্ঠা-7
মাইকেল হেরেন

4
ডাউনওয়েট কেন, যেমন ওপি বিশেষত এইচটিটিপি অনুরোধের শর্তে জিজ্ঞাসা করেছিল, HTTP প্রতিক্রিয়া নয়। @ জেফডেভেনপোর্ট
জেমস চং

4
গুগল থেকে জেফের মতো এখানে যারা আসছেন তাদের জন্য ওপি দেখায় যে আপনি ";" দিয়ে আলাদা করে একাধিক বার রাখতে পারেন (একটি জায়গার প্রয়োজন নেই)
অ্যালবার্ট হেন্ডরিক্স

4
@HawkeyeParker - করতে পারেন পরোক্ষভাবে না সঠিক । আমি যুক্তি দেব যে মানগুলি একটি সার্ভার দ্বারা সেট করা হয় তার Set-Cookie:a=b;c=d;চেয়ে বেশি সঠিক Set-Cookie:a=b; Set-Cookie:c=d;। অনুমানটি বলছে সার্ভারের একাধিক সেট-কুকি শিরোলেখ ক্ষেত্রগুলিকে এক ক্ষেত্রে ফোল্ড করা উচিত নয় , তবে এটি একাধিক সেট-কুকি শিরোলেখ ক্ষেত্রগুলিকে এক প্রতিক্রিয়ায় যুক্ত করতে পারে । আসল বিশ্বে এর অর্থ কী তা হ'ল যখন কোনও প্রক্সি সার্ভার কোনও প্রতিক্রিয়ার সাথে পাশ করে, যদি সেই প্রক্সিটি কুকি সেট করে, তবে এটির জন্য আলাদা সেট-কুকি শিরোনাম ব্যবহার করা উচিত।
গল্ফি

26

এটি এখন HTTP / 2 ( আরএফসি 7540 ) এ অনুমোদিত, যা নির্দিষ্ট করে:

    8.1.2.5.  Compressing the Cookie Header Field

   The Cookie header field [COOKIE] uses a semi-colon (";") to delimit
   cookie-pairs (or "crumbs").  This header field doesn't follow the
   list construction rules in HTTP (see [RFC7230], Section 3.2.2), which
   prevents cookie-pairs from being separated into different name-value
   pairs.  This can significantly reduce compression efficiency as
   individual cookie-pairs are updated.

   To allow for better compression efficiency, the Cookie header field
   MAY be split into separate header fields, each with one or more
   cookie-pairs.  If there are multiple Cookie header fields after
   decompression, these MUST be concatenated into a single octet string
   using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
   before being passed into a non-HTTP/2 context, such as an HTTP/1.1
   connection, or a generic HTTP server application.

   Therefore, the following two lists of Cookie header fields are
   semantically equivalent.

     cookie: a=b; c=d; e=f

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