خطای 304 چیست و چگونه می توان آن را رفع کرد؟
کد وضعیت 304 not modified اغلب بدون توجه به ماهیتشان به عنوان خطا در نظر گرفته شده و به درستی مدیریت نمیشوند. در این مقاله با ارائه اطلاعاتی درباره این کد وضعیت به شما میگوییم که چطور خطاهای ناشی از آن راب رطرف کنید.
ارور 304 Not Modified یکی از کدهای وضعیت (Status Code) است که احتمالاً هنگام وبگردی با آن مواجه شدهاید. این کد در پسزمینه مرورگر شما کار میکند و به افزایش سرعت بارگذاری صفحات وب کمک میکند. اما گاهی اوقات، همین کد میتواند مشکلساز شود و مانع از دسترسی کاربران به محتوای جدید شود. در این مقاله ابتدا میگوییم که کد وضعیت یا خطای 304 چیست و سپس راهکارهایی را برای رفع آن آوردهایم.
کد وضعیت یا خطای 304 چیست؟
کد وضعیت 304، که با خطای HTTP Not Modified مرتبط است و به معنای بدون تغییر شناخته میشود، یک کد پاسخ HTTP است که نشان میدهد منبع درخواستی از آخرین باری که به آن دسترسی پیدا شده تغییر نکرده است. مرورگر شما برای افزایش سرعت بارگذاری صفحات، یک نسخه از آنها را در حافظه خود ذخیره میکند. کد 304 Not Modified به مرورگر میگوید که نسخه کش شده هنوز معتبر است و نیازی به دانلود مجدد نیست. در واقع http Error 304 یک خطا نیست، بلکه یک کد پاسخ HTTP است که میتواند به بهبود سرعت بارگذاری صفحات و کاهش مصرف پهنای باند کمک کند. در تصویر زیر نحوه عملکرد مرورگر را برای کد 304 میبینید.
کد وضعیت HTTP 304 Not Modified به چه دلیل رخ میدهد؟
حالا که متوجه شدید خطای 304 چیست باید بدانید که اگر کاربری کد وضعیت 304 Not Modified را در سایت شما مشاهده کند، شما کار زیادی نمیتوانید انجام دهید، زیرا مشکل به احتمال زیاد در سمت کاربر است. کاربران ممکن است به دلایل مختلفی کد وضعیت 304 را دریافت کنند. در واقع، خطای 304 Not Modified به معنای وجود مشکل در سایت شما نیست. این خطا اغلب به دلیل مشکلات موجود در سیستم کاربر، مانند وجود ویروس یا فایلهای خراب، رخ میدهد.
⚠️ رایانه شما ویروس یا بدافزار دارد
اگر رایانه کاربر به ویروس یا بدافزار آلوده شده باشد، ممکن است مرورگر او (مثل گوگل کروم، فایرفاکس یا سافاری) دچار مشکل شده و نتواند به درستی با سرور وب سایت شما ارتباط برقرار کند یا صفحات وب را در کش ذخیره کند. در این صورت، ممکن است کاربر با خطای 304 Not Modified مواجه شود.
⚠️ یک نرم افزار یا برنامه فایلهای خراب دارد
یکی از دلایل خطای 304 ممکن است فایلهای خراب برنامهها باشد؛ مشابه مشکلاتی که هنگام نصب یا حذف برنامهها ممکن است رخ دهد، اگر نرمافزار یا فایلی در سیستم کاربر خراب شده باشد، میتواند در عملکرد مرورگر اختلال ایجاد کرده و منجر به خطای 304 Not Modified شود.
⚠️ به تازگی یک نرم افزار را حذف یا نصب کردهاید
گاهی اوقات، نصب یا حذف نرمافزار روی سیستم کاربر میتواند باعث ایجاد اختلال در عملکرد رجیستری ویندوز شود. این اختلال میتواند روی مرورگر (مثل گوگل کروم، فایرفاکس یا سافاری) تأثیر گذاشته و منجر به خطای 304 Not Modified شود.
خطای 304 چگونه بر کاربران تأثیر میگذارد؟
- نمایش نسخه قدیمی صفحه: مرورگر ممکن است نسخه ذخیره شده در کش صفحه را نمایش دهد که ممکن است محتوای بهروز را نداشته باشد.
- عدم دسترسی به URL: در برخی موارد، خطای 304 ممکن است مانع از دسترسی کاربر به URL مورد نظر شود.
روشهای رفع خطای 304 چیست؟
همانطور که گفتیم این کد وضعیت (Status Code) ممکن است مشکلاتی را سمت کاربران به وجود آورد که برای رفع آنها روشهای زیر را پیشنهاد میکنیم.
✔️ پاک کردن کش مرورگر
با پاک کردن دادههای مرورگر، کش مرورگر نیز پاک میشود و مرورگر میتواند دوباره برای دسترسی به URL مورد نظر تلاش کند؛ این کار اولین اقدام برای رفع خطای 304 است. برای پاک کردن کش مرورگر گوگل کروم مراحل زیر را انجام دهید.
- در مرورگر کروم از بخش سه نقطه وارد تنظیمات مرورگر شوید.
- به بخش Privacy and security وارد شوید.
- سپس گزینه Delete browsing data را بزنید تا صفحه زیر به شما نشان داده شود.
4. در نهایت روی Clear browsing data کلیک کنید.
✔️ اجرای اسکن ویروس و بدافزار
گاهی اوقات، آلودگی به بدافزار میتواند در جریان دادههای مرورگر اختلال ایجاد کند و منجر به خطای 304 شود. مرورگر خود را برای بررسی وجود ویروس اسکن کنید.
✔️ پاک کردن کش DNS
کش DNS یک پایگاه داده موقت است که شامل آخرین آدرسهای IP دامنهها میشود. اگر کش DNS خراب یا قدیمی باشد، ممکن است باعث بروز خطای 304 شود. برای حل این مشکل، باید کش DNS را ریست یا پاک کنید.
نحوه پاک کردن کش DNS در ویندوز
- کلیدهای Windows + R را فشار دهید.
- عبارت CMD را تایپ کنید و Enter را بزنید.
- در پنجره Command Prompt، عبارت ipconfig /flushdns را تایپ کنید و Enter را بزنید.
- مرورگر خود را مجددا راهاندازی کنید.
✔️ تغییر DNS SERVER
کامپیوترها آدرسهای IP وبسایتها را از سرورهای DNS دریافت میکنند. اگر ارتباط با سرور DNS قطع شود، ممکن است سیستم شما نتواند کد وضعیت 304 را به درستی مدیریت کند. این مشکل میتواند ناشی از آدرس DNS سرور اشتباه یا مشکل موقتی در سرور DNS شما باشد.
نحوه تغییر DNS سرور در ویندوز
- منوی Windows را باز کنید.
- عبارت Control Panel را در نوار جستجو تایپ کنید.
- روی آیکون Control Panel کلیک کنید.
- به Network & Internet > Network and Sharing Center بروید.
- روی شبکه فعال خود کلیک کنید.
- در پنجره باز شده، روی دکمه Properties کلیک کنید.
- گزینه Internet Protocol Version 4 (TCP/IPv4) را انتخاب کنید و روی Properties کلیک کنید.
- گزینه Use the following DNS server addresses را انتخاب کنید.
- آدرس DNS سرور اصلی را در فیلد Preferred DNS server وارد کنید.
- آدرس DNS سرور ثانویه را در فیلد Alternate DNS server وارد کنید.
- با کلیک روی OK تنظیمات را تأیید کنید.
✔️ غیرفعال و فعال کردن اکستنشهای کروم
گاهی اوقات، افزونههای مرورگر به طور خودکار بهروزرسانی میشوند. این امر ممکن است در جریان دادههای وب سایت اختلال ایجاد کند و منجر به خطای 304 شود. اگر با یک وب سایت خاص با کد وضعیت 304 مواجه شدید، تمام افزونههای خود را غیرفعال کنید و بررسی کنید که آیا مشکل همچنان ادامه دارد یا خیر.
نحوه غیرفعال کردن افزونهها در گوگل کروم
- مرورگر خود را باز کنید و روی آیکون سه نقطه در گوشه بالا سمت راست کلیک کنید.
- روی گزینه More Tools > Extensions > manage extension کلیک کنید.
- برای غیرفعال کردن یک افزونه، روی گزینه Remove در سمت راست نام افزونه کلیک کنید.
✔️ بررسی پیکربندی سرور
هر سرور دارای فایلهای پیکربندی است که باید مطمئن شوید خراب نشدهاند. اگر سرور شما Apache است، میتوانید فایل .htaccess را در دایرکتوری ریشه سایت خود پیدا کنید. معمولاً این فایل در پوشه public_html قرار دارد. میتوانید فایل .htaccess را اصلاح کنید. کافی است از علامت «#» قبل و بعد از کد استفاده کنید تا موقتاً آن را غیرفعال کنید. این کار به شما امکان میدهد بررسی کنید که آیا این کد منبع خطای 304 است یا خیر.
نکته: برای NGINX، فایلی که باید بررسی کنید nginx.config است. این فایل معمولاً دارای کش داخلی است، بنابراین میتواند علت اصلی خطای 304 باشد.
✔️ بررسی دستورات ریدایرکت در .htaccess
در نهایت، برای رفع خطای 304، دستورات ریدایرکت (Redirect) را در فایل .htaccess را بررسی کنید. اگر این دستورالعملها صحیح نباشند، ممکن است خطای 304 رخ دهد. به عنوان مثال، ممکن است یک ریدایرکت داشته باشید که قرار است به صفحه اصلی شما هدایت شود، اما به دلیل اشتباه تایپی، این انتقال انجام نمیشود. با اصلاح آن، خطای 304 شما میتواند برای همیشه برطرف شود.
یکی از اقداماتی که میتوانید برای افزایش امنیت سایت خود انجام دهید نصب افزونههای امنیتی وردپرس است؛ این افزونهها میتوانند به غیر فعال کردن خطاهای کاربری هم کمک کنند. وردفنس یک پلاگین و فایروال امنیتی با امکان احراز هویت دو عاملی، مسدود کردن آی پی و مشاهده ترافیک آنلاین است که از سایت شما در برابر حملات وردپرسی محافظت میکند.
چرا 304 response code اهمیت دارد؟
برای وبسایتهای کوچک، فرصتهای کش که کد HTTP 304 ارائه میدهد چندان مهم نیست. با این حال، برای وبسایتهای بزرگ، کد پاسخ 304 فرصتی عالی برای صرفهجویی در بودجه crawl است. خزنده گوگل صفحات تغییر نکرده را دوباره crawl نمیکند و به جای آن میتواند صفحات جدید و بهروز شده بیشتری را crawl کند. در نهایت، به یاد داشته باشید که خطای 304 یک خطای واقعی نیست و در واقع به نفع وبسایت شما عمل میکند.
آیا کد وضعیت HTTP 304 Not Modified بد است؟
خیر، کد وضعیت HTTP 304 Not Modified به هیچ وجه بد نیست. این کد هیچ مشکلی را در مرورگر شما یا سرور وب سایت نشان نمیدهد و یک کد خطا نیست. برعکس، هدف این کد بهبود تجربه کاربری برای بازدیدکنندگان وب سایت است. به جای دانلود محتوا در هر بار بازدید، مرورگرهای وب میتوانند از دادههای ذخیره شده در کش خود برای نمایش سریعتر صفحات وب استفاده کنند.