كيف تعمل عمليات إعادة التوجيه HTTP فعليًا (301 مقابل 302 مقابل 307)

يشرح وظائف وحالات استخدام رموز حالة إعادة التوجيه HTTP الشائعة: │ 301 (نُقل بشكل دائم)، 302 (تم العثور عليه/نُقل مؤقتًا)، و 307 (إعادة توجيه مؤقتة).

Beginner

تعد عمليات إعادة التوجيه HTTP طريقة لإرسال المستخدمين ومحركات البحث إلى عنوان URL مختلف عن العنوان الذي طلبوه في الأصل. ويتم ذلك عن طريق إرسال الخادم رمز حالة HTTP محدد إلى العميل (المتصفح)، والذي يوجه العميل بعد ذلك إلى إرسال طلب جديد إلى عنوان URL الجديد.

فيما يلي كيفية عمل الأنواع المختلفة:

1. 301 تم النقل بشكل دائم

  • الغرض: يشير إلى أن المورد المطلوب قد تم نقله بشكل دائم إلى عنوان URL جديد.
  • السلوك: سيقوم المتصفح تلقائيًا بإعادة التوجيه إلى عنوان URL الجديد، والأهم من ذلك، أنه عادةً ما يقوم بتخزين هذا التوجيه في ذاكرة التخزين المؤقت. وهذا يعني أن الطلبات اللاحقة إلى عنوان URL الأصلي ستنتقل مباشرة إلى عنوان URL الجديد دون المرور بالعنوان القديم أولاً. كما تقوم محركات البحث بتحديث فهارسها للإشارة إلى عنوان URL الجديد.
  • تغيير الطريقة: قد تتغير طريقة HTTP (على سبيل المثال، GET، POST) المستخدمة في الطلب الأصلي من POST إلى GET في الطلب المعاد توجيهه، على الرغم من أن المتصفحات الحديثة غالبًا ما تحتفظ بالطريقة لـ 301s.
  • حالات الاستخدام: عندما يكون للصفحة عنوان دائم جديد، أو عند تغيير أسماء النطاقات، أو عند فرض HTTPS.

2. 302 تم العثور عليه (تم نقله مؤقتًا)

  • الغرض: يشير إلى أن المورد المطلوب موجود مؤقتًا في عنوان URL مختلف. يتوقع الخادم أن يستمر العميل في استخدام عنوان URL الأصلي للطلبات المستقبلية.
  • السلوك: يقوم المتصفح بإعادة التوجيه إلى عنوان URL الجديد، ولكنه لا يخزن إعادة التوجيه في ذاكرة التخزين المؤقت. ستظل الطلبات المستقبلية إلى عنوان URL الأصلي تذهب إلى الخادم الأصلي، والذي سيصدر بعد ذلك إعادة التوجيه 302 مرة أخرى. لا تقوم محركات البحث عمومًا بتحديث فهارسها لإعادة التوجيه 302.
  • تغيير الطريقة: تاريخياً، كانت المتصفحات تغير طريقة HTTP من POST إلى GET للطلب المعاد توجيهه، حتى لو كان الأصل POST. لا يزال هذا السلوك شائعاً.
  • حالات الاستخدام: اختبار A/B، أو صفحات الهبوط المؤقتة، أو عندما يكون المورد غير متاح مؤقتاً في موقعه المعتاد.

3. إعادة التوجيه المؤقتة 307

  • الغرض: على غرار 302، تشير إلى أن المورد المطلوب موجود مؤقتًا في عنوان URL مختلف. والفرق الرئيسي هو كيفية تعاملها مع طريقة HTTP.
  • السلوك: يقوم المتصفح بإعادة التوجيه إلى عنوان URL الجديد ولا يخزن إعادة التوجيه في ذاكرة التخزين المؤقت.
  • الحفاظ على الطريقة: من الأهمية بمكان أن إعادة التوجيه 307 تضمن صراحةً أن طريقة HTTP المستخدمة في الطلب الأصلي (على سبيل المثال، GET، POST، PUT) سيتم الحفاظ عليها للطلب المعاد توجيهه. إذا كان الطلب الأصلي POST، فسيكون الطلب المعاد توجيهه POST أيضًا.
  • حالات الاستخدام: عندما تحتاج إلى إعادة توجيه مؤقتة ويكون من الضروري الحفاظ على طريقة HTTP الأصلية، كما هو الحال مع إرسال النماذج. إنها بديل أكثر صحة من الناحية الدلالية لـ 302 عندما يكون الحفاظ على الطريقة مهمًا.