محلل ترويسة Set-Cookie

تساعدك على فهم سبب عدم حفظ الكوكي أو عدم إرساله، بعرض كل خاصية كما يقرؤها المتصفح.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل ترويسات Set-Cookie (سطر لكل ترويسة).
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

تتبع الأداة خوارزمية RFC 6265: الاسم والقيمة قبل أول ;، ثم الخصائص بأسماء لا تفرق بين الحروف الكبيرة والصغيرة. النقطة في بداية Domain تحذف، و Max-Age يقبل أعدادا صحيحة فقط، و Path يقبل إذا بدأ بعلامة /، وعند تكرار الخاصية تفوز الأخيرة.

مثال

النتيجة: ناتج JSON: [ { "name": "session_id", "value": "abc123", "maxAge": 3600, "domain": "example.com", "path": "/", "secure": true, "httpOnly": true, "sameSite": "Lax" }, { "name": "theme", "value": "dark", "expires": "Wed, 21 Oct 2026 07:28:00 GMT", "path": "/" } ]، عدد الكوكيز: 2، أسطر تجوهلت: 0.

Set-Cookie: session_id=abc123; Path=/; Domain=.example.com; Max-Age=3600; Secure; HttpOnly; SameSite=Lax
Set-Cookie: theme=dark; Expires=Wed, 21 Oct 2026 07:28:00 GMT; Path=/
[
  {
    "name": "session_id",
    "value": "abc123",
    "maxAge": 3600,
    "domain": "example.com",
    "path": "/",
    "secure": true,
    "httpOnly": true,
    "sameSite": "Lax"
  },
  {
    "name": "theme",
    "value": "dark",
    "expires": "Wed, 21 Oct 2026 07:28:00 GMT",
    "path": "/"
  }
]

الحدود والملاحظات

  • قيمة Expires تعرض كما هي دون تحويلها إلى تاريخ.
  • السطر الذي لا يحتوي = قبل أول ; أو اسمه فارغ يتجاهل كما في RFC 6265.

أسئلة شائعة عن هذه الأداة

أيهما يطبق إذا وجد Expires و Max-Age معا؟

Max-Age له الأولوية في المتصفحات، و Expires يستخدم فقط إذا غاب Max-Age.

لماذا حذفت النقطة من Domain؟

لأن RFC 6265 يتجاهل النقطة البادئة، فالقيمة .example.com تعني example.com وكل نطاقاته الفرعية.

هل يمكن لصق عدة ترويسات؟

نعم، ضع كل ترويسة Set-Cookie في سطر مستقل لتحصل على عنصر لكل كوكي.