DevToolPal
ع
3xx إعادة توجيه

304 Not Modified

لم يتغير

ماذا يعني

النسخة المخزنة لدى العميل ما زالت صالحة، لذا لا يرسل الخادم جسمًا. إنها رد على طلب مشروط بـ If-None-Match أو If-Modified-Since.

الأسباب الشائعة

  • الـ ETag في If-None-Match يطابق النسخة الحالية
  • لم يتغير المورد منذ If-Modified-Since
  • متصفح يعيد التحقق من مورد مخزن

طريقة الإصلاح

إن كنت العميل أو الزائر

استخدم الجسم المخزن. إذا بدا المحتوى قديمًا فقد يكون المُتحقِّق خاطئًا؛ افرض إعادة التحميل أو راجع توليد ETag.

إن كنت مسؤولًا عن الموقع أو الواجهة البرمجية

ولّد قيم ETag ثابتة (متطابقة على كل الخوادم خلف موازن التحميل) وأرسل ترويسات التخزين نفسها التي ترسلها مع 200.

مثال على الاستجابة

HTTP/1.1
HTTP/1.1 304 Not Modified
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
ETag: "33a64df5"
Cache-Control: max-age=3600

المواصفة

RFC 9110 §15.4.5

الأسئلة الشائعة

› هل 304 خطأ؟

لا. إنه يوفر عرض النطاق بإخبار العميل أن ذاكرته المؤقتة محدّثة.

› لماذا يرى المستخدمون ملفات قديمة بعد النشر؟

ترويسات التخزين تسمح بنسخ قديمة. استخدم أسماء ملفات ببصمة للموارد وmax-age قصيرًا مع التحقق لصفحات HTML.