تُعلِن توابع HTTP عن نيّتك تجاه مورد؛ ورموز الحالة هي جواب الخادم المُرمَّز. تهمّ خاصيّتان للتوابع: آمن (safe) (قراءة فقط، دون آثار جانبية) وعديم الأثر التكراري (idempotent) (تكراره يعطي النتيجة نفسها — مهمّ لإعادة المحاولة الآمنة).
تُعلِن توابع HTTP عن نيّتك تجاه مورد؛ ورموز الحالة هي جواب الخادم المُرمَّز. تهمّ خاصيّتان للتوابع: آمن (safe) (قراءة فقط، دون آثار جانبية) وعديم الأثر التكراري (idempotent) (تكراره يعطي النتيجة نفسها — مهمّ لإعادة المحاولة الآمنة).
| التابع | الغرض | Safe | Idempotent |
|---|
| GET | قراءة مورد | Yes | Yes |
| POST | إنشاء / تشغيل إجراء | No | No |
| PUT | استبدال مورد | No | Yes |
| PATCH | تحديث جزئي | No | No* |
| DELETE | إزالة مورد | No | Yes |
| HEAD | مثل GET، الترويسات فقط | Yes | Yes |
تمييز عدم الأثر التكراري عملي: فلأن PUT وDELETE عديما الأثر التكراري، يستطيع العميل إعادة محاولتهما بأمان بعد انتهاء مهلة؛ أما إعادة محاولة POST غير العديم للأثر فتخاطر بإنشاء نسخة مكرّرة (خطأ الشحن المزدوج الكلاسيكي).
تُجمَّع رموز الحالة حسب رقمها الأول:
1xx Informational request received, continuing (100 Continue, 101 Switching)
2xx Success it worked (200 OK, 201 Created, 204 No Content)
3xx Redirection go elsewhere (301 Moved, 304 Not Modified)
4xx Client error YOUR request is wrong (400, 401, 403, 404, 429)
5xx Server error the SERVER failed (500, 502, 503, 504)
أهمّ حدٍّ فاصل هو التقسيم بين 4xx و5xx: فـ 4xx تعني أن العميل أرسل شيئاً خاطئاً (مُدخَل سيّئ، غير مُصادَق عليه، غير موجود) — إعادة المحاولة دون تغيير لن تفيد؛ و5xx تعني أن الخادم فشل — إعادة المحاولة (مع تراجع تدريجي، backoff) قد تنجح. اعرف الشائعة عن ظهر قلب: 401 (غير مُصادَق عليه) مقابل 403 (مُصادَق عليه لكن غير مسموح له)، و404 (غير موجود)، و429 (مُقيَّد المعدّل)، و500 (انهيار خادم عام)، و502/503/504 (بوّابة سيّئة / غير متاح / انتهت مهلة البوّابة — عادةً مشكلة في المنبع (upstream) أو حِمل زائد).
هذه الرموز هي العقد المشترك بين كل عميل وخادم، فالطلاقة هنا متوقّعة من أيّ شخص يبني واجهات API أو يستهلكها. يسبر المُحاوِرون التمييزات التي تكشف الفهم الحقيقي: 401 مقابل 403، وPUT مقابل PATCH، وخصوصاً عدم الأثر التكراري (idempotency) الذي يحكم مباشرةً ما إذا كانت إعادة المحاولة آمنة — وهو اهتمام جوهري في الأنظمة الموزّعة وتدفّقات الدفع. كما أن إرجاع رمز الحالة الصحيح يجعل واجهتك قابلة للتنبّؤ وتتعامل معها ذواكر التخزين المؤقّت والوسطاء (proxies) ومكتبات العملاء بشكل صحيح، لذا تشكّل هذه المعرفة تصميم API جيّداً، لا مجرّد معلومات عابرة.
مكتبة من أسئلة مقابلات تقنية المعلومات مع إجابات مفصّلة — من المبتدئ إلى المتقدم.
تبرع