محلّل رموز حالة HTTP

بمساعدة الخادم التحقق

الصق استجابة خام (أو اجلب عنوان URL عاماً) لعرض فئة الحالة ودلالاتها والترويسات المطلوبة لتلك الحالة (Location وRetry-After وWWW-Authenticate وAllow) والأخطاء الشائعة.

الخصوصية: تتم المعالجة في متصفحك حيثما أمكن. تُمرَّر فحوصات الشبكة عبر خادم متقن ولا تُحفظ.
جارٍ تحميل الأداة…

كيفية استخدام محلّل رموز حالة HTTP

  1. الصق استجابة HTTP الخام (سطر الحالة، ثم الترويسات، ثم سطر فارغ، ثم الجسم) أو مخرجات curl -i — أو انتقل إلى وضع الجلب وأدخل عنوان URL عاماً.
  2. إذا كان النص الذي ألصقته لا يحتوي على سطر حالة، فأدخل الرمز في حقل الحالة.
  3. انقر «تحليل» (Analyze) لقراءة دلالات تلك الحالة وما يُتوقَّع منها بشأن الجسم والتخزين المؤقت.
  4. راجع النتائج وجدول الترويسات المصاحبة؛ أصلح الأخطاء أولاً ثم التحذيرات.

مزايا محلّل رموز حالة HTTP

  • يشرح فئة الحالة ومعناها واستخدامها المعتاد وتلميحات الاختبار لأي رمز من 100 إلى 599
  • يفحص الترويسات المصاحبة لكل حالة: Location وWWW-Authenticate وAllow وRetry-After وContent-Range وProxy-Authenticate
  • يرصد وجود جسم في استجابات 204/304، وغياب Content-Type، وقيم Retry-After غير الصالحة، وأخطاء 5xx القابلة للتخزين المؤقت، وأجسام JSON التي يتعذّر تحليلها
  • يكتشف التعارض بين الطريقة ورمز الحالة، مثل 301 بعد POST أو 200 مع Location بعد عملية إنشاء
  • يقبل الاستجابات الخام أو مخرجات curl -i أو قوائم الترويسات أو كائن JSON؛ أو يجلب عنوان URL عاماً دون اتباع عمليات إعادة التوجيه
  • حكم نهائي (صحيح / مشكوك فيه / غير صحيح) مع جدول نتائج قابل للتنزيل

مثال على محلّل رموز حالة HTTP

استجابة 401 دون تحدٍّ

الإدخال:

HTTP/1.1 401 Unauthorized
Content-Type: text/html
Cache-Control: max-age=3600

النتيجة:

Status: 401 Unauthorized (client error) · Verdict: Incorrect
High — WWW-Authenticate: 401 Unauthorized requires a WWW-Authenticate header. RFC 9110 requires at least one challenge.
Low — Content-Type: Error responses from APIs are easier to consume as application/problem+json.

الأسئلة الشائعة حول محلّل رموز حالة HTTP

ما الترويسات المطلوبة لكل حالة؟

تحتاج الحالات 301/302/303/307/308 إلى Location، وتحتاج 401 إلى WWW-Authenticate، و405 إلى Allow، و407 إلى Proxy-Authenticate، و206 إلى Content-Range. وينبغي أن ترسل 429 و503 ترويسة Retry-After.

ما صيغ الإدخال المدعومة؟

استجابة HTTP خام (سطر الحالة، ثم الترويسات، ثم سطر فارغ، ثم الجسم)، أو مخرجات curl -i، أو أسطر بسيطة بصيغة «Name: value» مع إدخال رمز الحالة على حدة، أو كائن JSON يحتوي على الحالة والترويسات.

هل يتبع وضع الجلب عمليات إعادة التوجيه؟

لا — يعيد الاستجابة الأولى حتى تتمكن من فحص حالة إعادة التوجيه وترويسة Location الخاصة بها. ويجب أن يكون عنوان URL عاماً.

لماذا يعترض على وجود جسم في استجابة 204؟

يحظر RFC 9110 وجود جسم رسالة في استجابات 1xx و204 و304؛ ويفشل كثير من العملاء أو يتوقفون عن الاستجابة عند وجوده.

ما الفرق بين 401 و403؟

يعني 401 أن المصادقة مفقودة أو غير صالحة ويجب أن يتضمّن تحدّي WWW-Authenticate؛ أما 403 فيعني أن هوية المستدعي معروفة لكنه غير مسموح له، لذا لا حاجة إلى تحدٍّ.

ملاحظات تقنية

تُستمد دلالات الحالات من قاعدة معرفة HTTP المشتركة (RFC 9110 إضافةً إلى رموز الموردين الشائعة). وتجسّد قواعد الترويسات المصاحبة صيغتي «MUST» و«SHOULD» الواردتين في RFC: فالترويسات المطلوبة تنتج نتائج عالية الخطورة، والترويسات الموصى بها تنتج ملاحظات منخفضة الخطورة.

في وضع الجلب يُطلب من المُرحِّل (relay) عدم اتباع عمليات إعادة التوجيه حتى تُحلَّل استجابة 301/302 وترويسة Location الخاصة بها كما وردت؛ ويظل المُرحِّل يرفض العناوين الخاصة وعناوين الاسترجاع (loopback).