ترسل العديد من تطبيقات الويب ملفات تعريف الارتباط في رؤوس Set-Cookie متعددة ، رأس واحد لملف تعريف ارتباط واحد. تنضم الطلبات إلى هذه الرؤوس في رأس كبير واحد مفصول بفاصلة.
من نفس تطبيق الويب إلى request.get
Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly
Set-Cookie: Cookie1=token2; path=/ecp
Set-Cookie: X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly
Set-Cookie: X-BackEndCookie=token3; expires=Mon, 03-Apr-2017 12:25:07 GMT; path=/ecp; HttpOnly
في الطلبات:
Resp.headers تبدو وكأنها
Set-Cookie: ASP.NET_SessionId=token1; path=/; HttpOnly,
Cookie1=token2; path=/ecp,
X-BEResource=WIN-RBFR0BDA7V7.testlab.net~1; path=/ecp/15.0.516.30; HttpOnly,
X-BackEndCookie=token3; expires=Thu, 06-Apr-2017 08:27:22 GMT; path=/ecp; HttpOnly
فسر متصفح Firefox و IE و Chrome غير صالح ملفات تعريف الارتباط هذه لأن الفاصل عبارة عن فاصلة ولكن في الحقل EXPIRES بفاصلة يوم وتاريخ منفصلان.
المشكلة الرئيسية في تعديل حركة المرور. في رأيي ، يجب أن يقوم الخادم بإرسال عدة رؤوس lib بإرجاع رؤوس متعددة
لا تقدم الطلبات أي وعود بشأن ترك الرؤوس بالشكل الذي تم استلامها به من الخادم. في الوقت الحالي ، أوصي بشدة باستخدام طلبات ملفات تعريف الارتباط لتخزين ملفات تعريف الارتباط بدلاً من استخراجها من الرؤوس: نقوم بإدخالها بشكل صحيح هناك.
على المدى الطويل ، يجب أن نضيف على الأرجح إصلاحًا لاستبعاد رأس Set-Cookie
من الانضمام بهذه الطريقة.
لقد قضمنا هذا وكلفنا بضع ساعات. أود التصويت لأترك Set-Cookie
كما هو. لماذا تتلاعب الطلبات بالرؤوس على أي حال؟ هل هناك سبب وجيه لذلك؟ IMHO هو فقط يعقد الأشياء للجميع. ماذا ينقصني؟
شكرا لعملكم الجيد!
مرحبًا ، هناك طريقة لتحليل الرؤوس بشكل صحيح باستخدام https://github.com/Ousret/kiss-headers requests
ولن تتمكن من تغيير تمثيلها للرؤوس في أي وقت قريبًا.
التعليق الأكثر فائدة
لا تقدم الطلبات أي وعود بشأن ترك الرؤوس بالشكل الذي تم استلامها به من الخادم. في الوقت الحالي ، أوصي بشدة باستخدام طلبات ملفات تعريف الارتباط لتخزين ملفات تعريف الارتباط بدلاً من استخراجها من الرؤوس: نقوم بإدخالها بشكل صحيح هناك.
على المدى الطويل ، يجب أن نضيف على الأرجح إصلاحًا لاستبعاد رأس
Set-Cookie
من الانضمام بهذه الطريقة.