تخطَّ إلى المحتوى

Location

ترويسة Location Location

ترويسة استجابة تدلّ العميل على رابط المورد — إما مورد جديد أُنشئ (201) أو وجهة إعادة توجيه (3xx).

حسب RFC 9110، ترويسة Location تُستخدم في حالتين رئيسيتين ضمن REST API: مع رد 201 Created بعد POST ناجحة، لتُخبر العميل برابط المورد الذي أُنشئ حديثًا دون الحاجة لتخمينه؛ ومع أكواد إعادة التوجيه (301, 302, 303, 307, 308) لتحديد الوجهة الجديدة التي يجب على العميل اتباعها.

في سياق REST API عملي، أشيع استخدام لها هو مرافقة رد الإنشاء: بعد POST /articles، يعيد الخادم 201 مع Location: /articles/43 حتى يعرف العميل فورًا كيف يصل للمورد الجديد دون طلب GET إضافي لاكتشاف الرابط.

الصياغة

HTTP/1.1 201 Created
Location: /resource/:id

📄 مثال

POST /api/articles HTTP/1.1
Content-Type: application/json

{ "title": "مقال جديد" }

// الاستجابة
HTTP/1.1 201 Created
Location: /api/articles/43

{ "id": 43, "title": "مقال جديد" }

أهم النقاط

العنصرالوظيفة
مع 201 Createdرابط المورد الذي أُنشئ للتو
مع أكواد 3xxوجهة إعادة التوجيه التي يجب على العميل اتباعها
رابط مطلق أو نسبيالمواصفة تسمح بالشكلين؛ المطلق أوضح للعميل

💡 نصائح عملية

  • أضفها دائمًا مع 201 Created — توفّر على العميل طلب GET إضافي لمعرفة رابط المورد الجديد
  • في Express: res.status(201).location(`/api/articles/${id}`).json(article)

⚠️ أخطاء شائعة

  • إعادة 201 بلا ترويسة Location — يجبر العميل على تخمين الرابط أو استخراجه من جسم الرد يدويًا
  • استخدامها مع أكواد لا علاقة لها بالإنشاء أو التوجيه

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار REST-API الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs