ماذا يعني
النسخة المخزنة لدى العميل ما زالت صالحة، لذا لا يرسل الخادم جسمًا. إنها رد على طلب مشروط بـ 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 المواصفة
الأسئلة الشائعة
› هل 304 خطأ؟
لا. إنه يوفر عرض النطاق بإخبار العميل أن ذاكرته المؤقتة محدّثة.
› لماذا يرى المستخدمون ملفات قديمة بعد النشر؟
ترويسات التخزين تسمح بنسخ قديمة. استخدم أسماء ملفات ببصمة للموارد وmax-age قصيرًا مع التحقق لصفحات HTML.