Menu
العربية

رموز حالة HTTP

مرجع قابل للبحث لكل رمز حالة HTTP مع شرح مبسط.

Last updated

  • 100Continue

    1xx

    تم استلام الجزء الأول من الطلب؛ على العميل متابعة إرسال الجسم.

  • 101Switching Protocols

    1xx

    وافق الخادم على تبديل البروتوكول (مثل ترقية HTTP/1.1 إلى WebSocket).

  • 102Processing

    1xx

    WebDAV — تم قبول الطلب ولكنه لم يكتمل بعد.

  • 103Early Hints

    1xx

    يُستخدم مع رأس Link للسماح للعميل بتحميل الموارد مسبقاً قبل الاستجابة النهائية.

  • 200OK

    2xx

    نجح الطلب. المعنى الدقيق يعتمد على الطريقة.

  • 201Created

    2xx

    نجح الطلب وتم إنشاء مورد جديد.

  • 202Accepted

    2xx

    تم قبول الطلب للمعالجة ولكنه لم يكتمل بعد (عمل غير متزامن).

  • 203Non-Authoritative Information

    2xx

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

  • 204No Content

    2xx

    نجح الطلب ولكن لا يوجد جسم للإرجاع.

  • 205Reset Content

    2xx

    يطلب من العميل إعادة تعيين عرض المستند الذي أرسل الطلب (مثل مسح النموذج).

  • 206Partial Content

    2xx

    يُستخدم استجابةً لطلب Range — الجسم يحتوي فقط على نطاق البايتات المطلوب.

  • 300Multiple Choices

    3xx

    للمورد عدة تمثيلات؛ على العميل اختيار واحد.

  • 301Moved Permanently

    3xx

    للمورد عنوان URL دائم جديد. ستحدّث محركات البحث فهرسها.

  • 302Found

    3xx

    المورد مؤقتاً في URL مختلف. استخدم 307 إذا كان يجب الحفاظ على الطريقة.

  • 303See Other

    3xx

    بعد POST، يعيد توجيه العميل لاسترداد النتيجة بـ GET (Post/Redirect/Get).

  • 304Not Modified

    3xx

    النسخة المخزنة مؤقتاً لا تزال حديثة — تُرسل استجابةً لـ GET المشروط (ETag / If-Modified-Since).

  • 307Temporary Redirect

    3xx

    مثل 302 ولكن لا يجب تغيير طريقة الطلب عند اتباع التوجيه.

  • 308Permanent Redirect

    3xx

    مثل 301 ولكن لا يجب تغيير طريقة الطلب عند اتباع التوجيه.

  • 400Bad Request

    4xx

    لا يستطيع الخادم أو يرفض معالجة الطلب بسبب خطأ العميل (صياغة غير صحيحة، تأطير غير صالح).

  • 401Unauthorized

    4xx

    المصادقة مطلوبة وفشلت أو لم تُقدَّم. (رغم الاسم، يتعلق الأمر بالمصادقة لا التفويض.)

  • 402Payment Required

    4xx

    محجوز للاستخدام المستقبلي. تستخدمه بعض واجهات API للإشارة إلى أن المستخدم بلغ حصة مدفوعة.

  • 403Forbidden

    4xx

    فهم الخادم الطلب لكنه يرفض التفويض. إعادة المصادقة لن تساعد.

  • 404Not Found

    4xx

    لا يستطيع الخادم العثور على المورد المطلوب.

  • 405Method Not Allowed

    4xx

    طريقة الطلب معروفة لدى الخادم لكنها غير مدعومة من المورد المستهدف.

  • 406Not Acceptable

    4xx

    لا يستطيع الخادم إنتاج استجابة تطابق رؤوس Accept التي أرسلها العميل.

  • 407Proxy Authentication Required

    4xx

    مثل 401 ولكن المصادقة مطلوبة لوكيل.

  • 408Request Timeout

    4xx

    انتهت مهلة الخادم أثناء انتظار الطلب.

  • 409Conflict

    4xx

    يتعارض الطلب مع الحالة الحالية للمورد المستهدف (مثل تعارض الإصدار).

  • 410Gone

    4xx

    تم حذف المورد نهائياً دون عنوان توجيه.

  • 411Length Required

    4xx

    يتطلب الخادم رأس Content-Length.

  • 412Precondition Failed

    4xx

    لم يستوفِ الخادم شرطاً مسبقاً في رؤوس الطلب (مثل If-Match).

  • 413Payload Too Large

    4xx

    جسم الطلب أكبر مما يقبل الخادم معالجته.

  • 414URI Too Long

    4xx

    الـ URI أطول مما يقبل الخادم تفسيره.

  • 415Unsupported Media Type

    4xx

    يستخدم جسم الطلب نوع وسائط لا يدعمه الخادم أو المورد.

  • 416Range Not Satisfiable

    4xx

    يطلب رأس Range جزءاً من الملف خارج حدوده.

  • 418I'm a teapot

    4xx

    نكتة كذبة أبريل من RFC 2324. تُرجعها الخوادم التي ترفض تحضير القهوة.

  • 421Misdirected Request

    4xx

    أُرسل الطلب إلى خادم غير قادر على إنتاج استجابة (مثل اتصال HTTP/2 خاطئ).

  • 422Unprocessable Entity

    4xx

    الطلب مُهيكل جيداً لكنه يحتوي على أخطاء دلالية (شائع الاستخدام في API لإخفاقات التحقق).

  • 423Locked

    4xx

    WebDAV — المورد الذي يجري الوصول إليه مقفل.

  • 425Too Early

    4xx

    لا يرغب الخادم في معالجة طلب قد يُعاد تشغيله.

  • 426Upgrade Required

    4xx

    يجب على العميل الترقية إلى بروتوكول مختلف (مثل TLS) لإكمال الطلب.

  • 428Precondition Required

    4xx

    يتطلب الخادم أن يكون الطلب مشروطاً (يساعد على تجنب مشكلة التحديث المفقود).

  • 429Too Many Requests

    4xx

    أرسل العميل عدداً كبيراً جداً من الطلبات في فترة معينة (تحديد المعدل).

  • 431Request Header Fields Too Large

    4xx

    يرفض الخادم الطلب لأن حقل رأس — أو الرؤوس مجتمعة — كبير جداً.

  • 451Unavailable For Legal Reasons

    4xx

    المورد غير متاح لأسباب قانونية (سُمّي بعد رواية فهرنهايت 451).

  • 500Internal Server Error

    5xx

    واجه الخادم حالة غير متوقعة. خطأ 5xx العام.

  • 501Not Implemented

    5xx

    لا يتعرف الخادم على طريقة الطلب.

  • 502Bad Gateway

    5xx

    تلقى الخادم، بوصفه بوابة، استجابة غير صالحة من الخادم الأعلى.

  • 503Service Unavailable

    5xx

    الخادم غير جاهز لمعالجة الطلب — عادةً مثقل بالأحمال أو في وضع الصيانة.

  • 504Gateway Timeout

    5xx

    لم يتلقَّ الخادم، بوصفه بوابة، استجابة في الوقت المناسب من الخادم الأعلى.

  • 505HTTP Version Not Supported

    5xx

    لا يدعم الخادم إصدار HTTP المستخدم في الطلب.

  • 507Insufficient Storage

    5xx

    WebDAV — لا يستطيع الخادم تخزين التمثيل اللازم لإكمال الطلب.

  • 508Loop Detected

    5xx

    WebDAV — اكتشف الخادم حلقة لانهائية أثناء المعالجة.

  • 511Network Authentication Required

    5xx

    يحتاج العميل إلى المصادقة للحصول على وصول الشبكة (البوابات الأسيرة).

ما هي أكواد حالة HTTP؟

أكواد حالة HTTP هي الأرقام المكوّنة من ثلاث خانات التي يُرجِعها الخادم في بداية كل استجابة لتلخيص ما جرى. هذه الأكواد هي الطريقة التي تعتمد عليها المتصفحات والعملاء والوسطاء وشبكات CDN لتقرر هل تُخزِّن الاستجابة في الكاش، أم تُعيد التوجيه، أم تُعيد المحاولة، أم تُظهر خطأً للمستخدم.

كل كود حالة ينتمي إلى واحدة من خمس فئات بناءً على أول خانة فيه: 1xx معلوماتي، 2xx نجاح، 3xx إعادة توجيه، 4xx خطأ من العميل، 5xx خطأ من الخادم. بمجرد أن تعرف الفئة، تستطيع غالبًا تخمين المعنى العام حتى قبل أن تبحث عن الكود تحديدًا.

معظم التطبيقات تستخدم مجموعة محدودة فقط (200, 201, 204, 301, 302, 304, 400, 401, 403, 404, 409, 422, 429, 500, 502, 503). إتقان معنى كل واحد منها — والتمييز بين 401 Unauthorized و403 Forbidden، أو بين 301 Moved Permanently و302 Found — هو ما يجعلك مطوِّر باك-إند أو واجهات API أقوى.

ماذا ستتعلّم أثناء استخدام هذا المرجع

  • أول خانة في الكود تُخبرك دائمًا بالفئة: 1xx معلوماتي، 2xx نجاح، 3xx إعادة توجيه، 4xx خطأ من العميل، 5xx خطأ من الخادم.
  • أكواد الحالة *جزء من العقد* الذي تُقدِّمه الـ API — يجب على العملاء أن يتفرّعوا بناءً عليها، لا أن يحلّلوا رسائل الخطأ من جسم الاستجابة.
  • 4xx يعني أن العميل أخطأ في شيء (إدخال خاطئ، أو غياب توثيق، أو مورد غير موجود). أمّا 5xx فيعني أن الخادم فشل بغضّ النظر عمّا فعله العميل.

كيف تستخدم مرجع أكواد الحالة خطوة بخطوة

  1. ابحث برقم الكود أو باسمه

    اكتب رقمًا (404, 429) أو كلمة مفتاحية (auth, redirect, rate limit) وستتم تصفية الأكواد المطابقة فورًا أثناء الكتابة.

  2. صفِّ النتائج حسب الفئة

    استخدم أزرار الفئات (1xx, 2xx, 3xx, 4xx, 5xx) لتقليص القائمة عندما تتصفّح بدلًا من البحث عن كود محدد.

  3. اقرأ الشرح بلغة بسيطة

    كل عنصر يتضمّن متى يُرسَل الكود، والسلوك المعتاد من جانب العميل، والسبب الأكثر شيوعًا لظهوره.

  4. قارِن بين الأكواد المتشابهة

    استخدم روابط "انظر أيضًا" بين الأزواج المُربكة (401 مقابل 403, 301 مقابل 302) لتختار الأنسب لـ API الخاصة بك.

فئات أكواد حالة HTTP

الفئات الخمس لأكواد حالة HTTP وما تعنيه باختصار. مُعرَّفة في RFC 9110 ومُسجَّلة في سجل IANA لأكواد حالة HTTP.

الفئةالمعنىأكواد شائعة
1xx معلوماتيالطلب وصل، وتجري معالجته100, 101, 103
2xx نجاحالطلب نجح200, 201, 204, 206
3xx إعادة توجيهاذهب للبحث في مكان آخر301, 302, 304, 307, 308
4xx خطأ من العميلهناك خلل في الطلب نفسه400, 401, 403, 404, 409, 422, 429
5xx خطأ من الخادمالخادم فشل في تنفيذ طلب صحيح500, 502, 503, 504

أكواد حالة HTTP الشائعة التي يجب معرفتها

الفرق بين 200 OK و201 Created و204 No Content

200 OK

الردّ المعتاد لـ "كل شيء تمام"، مع جسم استجابة.

201 Created

تمّ إنشاء مورد جديد نتيجة للطلب — عادةً بعد طلب POST.

204 No Content

نجاح، ولكن دون جسم استجابة. شائع بعد طلبات DELETE أو PUT التي لا تحتاج إلى إرجاع بيانات.

الثلاثة كلها أكواد نجاح — والفرق هو فيما تحمله الاستجابة. الكود 201 ينبغي أن يتضمّن ترويسة Location تشير إلى المورد الجديد؛ أمّا 204 فهو فارغ بطبيعته.

الفرق بين 301 Moved Permanently و302 Found

301

إعادة توجيه دائمة. المتصفحات ومحركات البحث تحفظها؛ والرابط القديم يُعتبر منتهيًا فعليًا.

302

إعادة توجيه مؤقتة. المتصفحات تُعيد فحص الرابط الأصلي مع كل طلب؛ والإشارات المرجعية تظل مرتبطة بالرابط القديم.

استخدم 301 عندما تكون قد نقلت المورد فعلًا (تغيير علامة تجارية، إعادة هيكلة للروابط). واستخدم 302 لإعادات التوجيه قصيرة الأمد مثل اختبارات A/B، أو إعادة توجيه تسجيل الدخول، أو صفحات الصيانة.

الفرق بين 401 Unauthorized و403 Forbidden

401

لست موثَّقًا. الخادم لا يعرف من أنت.

403

الخادم يعرف من أنت، لكن ليس لديك الصلاحية للوصول إلى هذا المورد.

إذا كان إرسال بيانات اعتماد مختلفة قد يحلّ المشكلة، فأرجِع 401. أمّا إذا كانت بيانات الاعتماد لن تُجدي نفعًا (المورد ممنوع على هذا المستخدم بالأساس)، فأرجِع 403.

الفرق بين 500 و502 و503 و504

500

خطأ خادم عام — كودك أطلق استثناءً غير مُعالَج.

502

بوابة سيئة — وسيط أمامي (CDN، أو موزِّع أحمال) لم يستطع الوصول إلى الخادم الخلفي.

503

الخدمة غير متاحة — الخادم يعمل لكنه محمَّل فوق طاقته أو في وضع الصيانة.

504

انتهت مهلة البوابة — وصل الوسيط إلى الخادم الخلفي لكنه لم يحصل على ردّ في الوقت المناسب.

الأربعة جميعها أخطاء خادم، لكنها تروي قصصًا مختلفة تمامًا للمصحِّح. 500 يدلّ على تطبيقك؛ و502 و504 يشيران إلى مسار الشبكة؛ و503 يشير إلى مشكلة في السعة.

أخطاء شائعة في استخدام أكواد حالة HTTP

  • إرجاع 200 OK مع {"error": "..."} في جسم الاستجابة. أكواد الحالة جزء من العقد — استخدم الكود الصحيح (400, 404, 500) حتى يتمكّن العملاء من التفرّع بناءً عليه.
  • استخدام 401 لأخطاء الصلاحيات. الكود 401 مخصَّص للتوثيق؛ أمّا رفض الصلاحيات فهو 403.
  • استخدام 200 للموارد المُنشَأة حديثًا بدلًا من 201 مع ترويسة Location.

أسئلة شائعة عن أكواد حالة HTTP

ماذا يعني HTTP 404؟
404 Not Found يعني أن الخادم فهم الطلب، لكن المورد عند ذلك الرابط غير موجود. غالبًا يكون السبب أن المسار خاطئ، أو أن المورد قد حُذف، أو أن الرابط كُتب بصورة غير صحيحة.
ما الفرق بين 401 و403؟
401 Unauthorized يعني أنك غير موثَّق — الخادم لا يعرف من أنت. أمّا 403 Forbidden فيعني أنك موثَّق لكن ليس لديك صلاحية للوصول إلى المورد. إرسال بيانات اعتماد مختلفة قد يحلّ مشكلة 401، لكنه لن يحلّ مشكلة 403.
ما الفرق بين 301 و302؟
301 Moved Permanently هو إعادة توجيه دائمة — المتصفحات ومحركات البحث تُحدِّث سجلاتها بناءً عليها. أمّا 302 Found فهو إعادة توجيه مؤقتة — حيث يستمر العملاء في زيارة الرابط الأصلي. استخدم 301 للنقل الدائم، و302 للتحويلات المؤقتة.
ماذا يعني HTTP 500؟
500 Internal Server Error هو خطأ عام من جهة الخادم، يُطلَق عادةً عندما يصعد استثناء غير مُعالَج إلى الأعلى. العميل لم يفعل شيئًا خاطئًا — الخادم هو الذي فشل في معالجة طلب صحيح.
هل يجب أن أستخدم دائمًا كود حالة محدَّد؟
نعم. استخدام 200 OK العام للفشل، أو 500 لكل المشاكل، يجعل الـ API أصعب في الاستخدام. اختر الكود الأكثر تخصيصًا الذي يُناسب الحالة — فالعملاء والوسطاء وأنظمة المراقبة ومنطق إعادة المحاولة كلهم يتفرّعون بناءً على كود الحالة.
ماذا يعني HTTP 429؟
429 Too Many Requests يُرسَل عندما يتجاوز العميل حدّ المعدل المسموح به. يجب أن تتضمّن الاستجابة ترويسة Retry-After تُخبر العميل متى يكون من الآمن المحاولة من جديد.

اعرف المزيد

أدوات مطورين أخرى

تعلّم البرمجة مع Coddy

ابدأ الآن