هل هناك مشكلة في هذه الأداة؟

عن «تحليل ترويسات HTTP عبر الإنترنت»

تحلل هذه الأداة رؤوس طلب أو استجابة HTTP الخام إلى عرض منظم. الصق الرؤوس من أمر curl أو فاحص شبكة المتصفح أو سجل وكيل، وتعيد الأداة كل اسم وقيمة رأس كصف منفصل، بالإضافة إلى تفسير محلل للرؤوس المعقدة (Cookie، Set-Cookie، Cache-Control، Content-Security-Policy).

رؤوس HTTP مليئة بنحو مضغوط يسهل قراءته بشكل خاطئ: ملفات تعريف الارتباط مع السمات، وسياسات الأمان مع التوجيهات، وقواعد التخزين المؤقت بالثواني والمعدلات. قراءتها بشكل صحيح ضرورية للتصحيح — فشل المصادقة، ومشاكل التخزين المؤقت، ومشاكل CORS، والتكوينات الأمنية الخاطئة.

استخدمها عند استكشاف أخطاء استدعاءات API الفاشلة، أو تدقيق استجابات الخادم، أو تعلم بروتوكول HTTP. التفصيل المرئي أوضح بكثير من جدار النص.

كيف تستخدم هذه الأداة

كيف أُحلّل كتلة ترويسات HTTP خامة إلى أزواج مفتاح/قيمة؟

  1. ألصق الترويسات

    ضع كتلة الترويسات الخامة في حقل «Headers». تقبل الأداة ما يطبعه `curl -I` — ترويسة في كل سطر بصيغة `Name: value`، مع تجاهل سطر الحالة الاختياري `HTTP/1.1 200 OK`.

  2. اضغط «تشغيل»

    تعيد النتيجة `headers` — كائن يطابق أسماء الترويسات بأحرف صغيرة إلى قيمها. أسماء الترويسات لا تفرق الحالة وفق HTTP، فالتصغير خطوة تطبيع. تُحفظ الأسماء المكرّرة بالإلحاق (فواصل داخل القيمة).

  3. أمور شائعة للبحث

    `Content-Type` (مع charset اختيارية)، `Cache-Control` (max-age، immutable، no-store)، `Strict-Transport-Security`، `Content-Security-Policy`، `Set-Cookie` (انتبه: Set-Cookie هو الترويسة التي لا يمكن استخدام الفواصل لدمج عدة نُسخ منها).

  4. `Set-Cookie` خادع

    ينص RFC 7230 على أن الترويسات متعددة القيم تُدمَج بـ `, ` — باستثناء `Set-Cookie` لأن قيمتها قد تحوي فواصل. إن كان مدخلك يحوي عدة أسطر Set-Cookie فإن دمج هذه الأداة الساذج سيخلطها. للدقة استخدم وصولًا خامًا مثل fetch.headers.getSetCookie.