استجابة الخادم 303 See Other
HTTP status code 303 (See Other)
يستخدم رمز الحالة HTTP 303 (انظر آخر) لإعادة توجيه العميل إلى URI آخر حيث يمكنه الحصول على المورد. عادة ما يتم تطبيق هذا الرمز استجابة لطلبات POST، مما يشير إلى أن على العميل إجراء طلب GET إلى مورد آخر.
الخصائص الأساسية لرمز الحالة 303
- التعريف والغرض: يوضح رمز الحالة 303 أنه يجب على العميل طلب مورد آخر بدلاً من المورد الحالي.
- الاختلافات بين 303 والحالات الأخرى:
- 302 (وجد): يشير أيضًا إلى إعادة توجيه ولكن لا يضمن أن الطلب التالي سيكون GET.
- 301 (تم نقلها بشكل دائم): يشير إلى أن المورد قد تم نقله بشكل دائم إلى URI آخر.
متى يتم تطبيق الرمز 303
- بعد تنفيذ طلب POST بنجاح.
- لتجنب إعادة إرسال النموذج عند تحديث الصفحة.
أمثلة عملية على استخدام رمز الحالة 303
- مثال 1: إعادة توجيه بعد تسجيل مستخدم جديد بنجاح.
- مثال 2: إعادة توجيه بعد إرسال نموذج ملاحظات.
- مثال 3: إعادة توجيه إلى صفحة نتائج البحث.
تصحيح الأخطاء المرتبطة برمز 303 في لغات البرمجة المختلفة
اللغة | مثال الكود | كيفية تجنب الأخطاء |
---|---|---|
PHP |
header("Location: http://example.com/another-page", true, 303); exit(); |
استخدام دالة header() بشكل صحيح واستدعاء exit() لإنهاء البرنامج. |
Python (Flask) |
from flask import Flask, redirect app = Flask(__name__) @app.route('/submit', methods=['POST']) def submit(): return redirect('/success', code=303) |
التأكد من تحديد رمز الحالة بشكل واضح. |
Java (Spring) |
@PostMapping("/submit") public String handleSubmit() { return "redirect:/success"; // سيتم استخدام رمز 303 بشكل افتراضي } |
التأكد من أن الطريقة ترجع سلسلة مع بادئة "redirect:". |