المحتويات

    استجابة الخادم 303 See Other

    HTTP status code 303 (See Other)

    يستخدم رمز الحالة HTTP 303 (انظر آخر) لإعادة توجيه العميل إلى URI آخر حيث يمكنه الحصول على المورد. عادة ما يتم تطبيق هذا الرمز استجابة لطلبات POST، مما يشير إلى أن على العميل إجراء طلب GET إلى مورد آخر.

    303 - See Other

    الخصائص الأساسية لرمز الحالة 303

    • التعريف والغرض: يوضح رمز الحالة 303 أنه يجب على العميل طلب مورد آخر بدلاً من المورد الحالي.
    • الاختلافات بين 303 والحالات الأخرى:
      • 302 (وجد): يشير أيضًا إلى إعادة توجيه ولكن لا يضمن أن الطلب التالي سيكون GET.
      • 301 (تم نقلها بشكل دائم): يشير إلى أن المورد قد تم نقله بشكل دائم إلى URI آخر.

    متى يتم تطبيق الرمز 303

    1. بعد تنفيذ طلب POST بنجاح.
    2. لتجنب إعادة إرسال النموذج عند تحديث الصفحة.

    أمثلة عملية على استخدام رمز الحالة 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:".
    استخدام رمز الحالة 303 يعتبر ممارسة جيدة لإدارة إعادة التوجيهات وتحسين تجربة المستخدم. التطبيق الصحيح لهذا الرمز يساعد على تجنب مشاكل إعادة إرسال البيانات ويجعل التفاعل مع API أكثر توقعًا.