آموزش های وردپرسخانهسیستم مدیریت محتواعمومی

آموزش رفع خطای Specify a cache validator و Configure entity tags

آموزش رفع خطای Specify a cache validator و Configure entity tags
آموزش رفع خطای Specify a cache validator و Configure entity tags
آموزش رفع خطای Specify a cache validator و Configure entity tags

یکی از خطاهای رایجی که هنگام تست سرعت سایت با GTmetrix بهش بر میخوریم با عنوان Specify a cache validator و Configure entity tags نمایش داده میشه که در بخش Yslow جی تی متریکس نمایش داده میشه و مربوط به کش سرور میشه. فایل‌هایی که در سرور کش میشن بستگی به نوع کش سرور هم بستگی داره که به چه شکلی بتونه به مرورگر اعلام بکنه که فایل‌ها در حالت کش هستند. یعنی وقتی شما فایل‌های یک صفحه که شامل چندین فایل مختلف هست رو کش میکنید، باید از طریق مرورگر به صورت صحیح در بازدیدهای بعدی اعلام کنید که آیا تغییری روی فایل‌ها یا این صفحه که کاربر در اون قرار داره صورت گرفته یا خیر؟ اگر تغییری صورت گرفته مربوط به چی بوده و چه فایل‌هایی باید از نو از سرور درخواست بشن تا با نسخه‌ای که به صورت کش شده داخل سیستم کاربر قرار داره آپدیت بشن.

در این آموزش از پایگاه دانش وی میزبان ایرانیان قصد دارم به نحوه برطرف کردن خطای Specify a cache validator و Configure entity tags در GTmetrix بپردازم که با استفاده از اون میتونید با ساختار درست کش سرور آشنا شده و به صورت بهینه از کش سرور سایت برای بهبود سرعت سایت استفاده کنید.

هنگام کش شدن چه اتفاقی در سرور رخ می‌دهد؟

همونطور که در چند مورد از مقاله‌های آموزش GTmetrix که در مورد کش بودند عنوان کردم، فرآیند کش درخواستی هست که تحت HTTP بین سرور و مرورگر رد و بدل میشه و در اون مشخص میشه که چه فایل‌هایی برای چه مدتی کش بشن. این مدت زمان کش شدن رو با استفاده از Expires و فرآیندی که در هر بازدید بررسی میکنه ببینه آیا تغییری در فایل‌ها ایجاد شده یا نه رو Cache-Control مشخص می‌کنه. این دو مورد درواقع درخواستی هستند که در هدر اجرا میشن و در نهایت وضعیت Cache Length رو مشخص می‌کنند.

آموزش رفع خطای Specify a cache validator و Configure entity tags

Cache Length چیست؟

دو هدر Cache-Control که برای تعیین مدت زمان انقضا مورد استفاده میگیره و بر حسب ثانیه مدت زمانی رو برای انقضا فایل‌های کش در نظر میگیره و Expires که برای تعیین تاریخ انقضا هست و بر اساس یک زمان دقیق انتخاب میشه، مشخص می‌کنند که یک فایل باید چه مدت زمانی به عنوان کش در مرورگر نگهداری بشه و اگه این وضعیت رو مشخص نکنید با خطای Leverage browser caching مواجه میشید. استفاده از این دو درخواست در هدر ضروری نیست، اما حتما باید حداقل از یکی از اینها استفاده کنید تا وضعیت کش رو در سرور برای مرورگر مشخص کنید. استفاده از هر دو گزینه هم میتونه مفید باشه و در جهت بهبود سرعت سایت یک گام جلوتر بردارید.

آموزش رفع خطای Specify a cache validator و Configure entity tags

Cache Validate چیست؟

بعد از اینکه وضعیت Cache Length توسط دو درخواست هدر Cache-Control و Expires مشخص شد، حالا باید توسط Cache Validate که اینم توسط دو هدر HTTP با نام‌های Last-Modified و Etag مشخص میشه تعیین کنید که فایل کش شده برای چه تاریخ و چه ورژنی هست. اگر این دو مورد هم مشخص نشده باشند در این صورت با خطای Specify a cache validator در GTmetrix «واجه خواهید شد. این دو درخواست رو به عنوان درخواست شرطی می‌شناسیم که بر اساس یک سری شروط باید وضعیت کش صفحات رو مشخص کنند.

آموزش رفع خطای Specify a cache validator و Configure entity tags

درخواست شرطی Last-Modified

توی این مدل بررسی برای اینکه فایل‌ها و صفحات کش شده آخرین بار چه زمانی تغییر کردن بر اساس یک تاریخ دقیق با استفاده از Last-Modified مشخص میشه و در هدر مرورگر قرار میگیره. بنابراین وقتی وارد یک صفحه از سایت میشید مرورگر ابتدا Last-Modified رو بررسی میکنه که ببینه وضعیت کش به چه صورتی هست و سپس بر اساس پاسخی که براش مشخص میشه، شروع به ادامه لود صفحه با استفاده از فایل‌های کش شده یا اینکه درخواست مجدد از سرور(بخاطر تغییر فایل‌ها) میکنه. این درخواست در مرورگر به شکل زیر مشخص خواهد شد.


Last-Modified: Mon, 11 Jan 2017 13:17:22 GMT

1LastModified: Mon, 11 Jan 2017 13:17:22 GMT

حالا که این تاریخ در اولین بازدید به صورت کش شده مشخص شد، در بازدید بعدی کاربر از این صفحه ابتدا درخواستی ارسال میشه که مشخص بکنه این صفحه تغییراتی داشته یا نه. این تغییرات میتونه همون ویرایش محتوای صفحه یا فایل‌ها باشه که با استفاده از Last-Modified مشخص میشه. پس وقتی شما مثلا بعد از 3 روز تغییری در صفحه بدین، مقدار بالا به صورت زیر در هدر مرورگر نمایش داده میشه.


Last-Modified: Mon, 14 Jan 2017 10:55:14 GMT

1LastModified: Mon, 14 Jan 2017 10:55:14 GMT

در این صورت وقتی بازدید کننده وارد سایت میشه ابتدا درخواستی به سرور ارسال میکنه که ببینه صفحه تغییر داشته یا نه. اینجا چون صفحه ما ویرایش شده و تغییراتی رو داشته، در این صورت پاسخ مثبت با کد 200 به مرورگر ارسال میشه و مرورگر میفهمه که این صفحه نسبت به بازدید قبلی که مربوط به سه روز پیش بوده تغییراتی رو به خودش گرفته. بنابراین مجددا فایل‌هایی که تغییر کردن با نسخه جدید از سرور دانلود و جایگزین میشن و دوباره در کش مرورگر قرار میگیرند. اگر در پاسخ ارسالی صفحه تغییری نکرده باشه به جای کد 200 کد 304 یا 304 Not Modified ارسال خواهد شد.

آموزش رفع خطای Specify a cache validator و Configure entity tags

درخواست شرطی Etag

این درخواست شرطی هم دقیقا مشابه Last-Modified هست، با این تفاوت که در اینجا با تاریخ سر و کار نداریم. در این حالت وضعیت کش توسط قطعه کد هش شده توسط MD5 مشخص خواهد شد. به عنوان مثال در اولین بازدید با استفاده از کد MD5 مشابه نمونه زیر که برای مرورگر قابل خوندن هست مشخص میشه که آخرین تغییرات با این کد هش شده هست.


ETag: “15f0fff99ed5aae4edffdd6496d7131f”

1ETag: “15f0fff99ed5aae4edffdd6496d7131f”

حالا اگه محتوای صفحه رو تغییر بدین و ویرایش کنید در این صورت کد هش شده بالا هم تغییر خواهد کرد و در این صورت مشابه نمونه قبلی توسط کد 200 یا 304 مشخص میشه که صفحه تغییری داشته یا خیر. تفاوتی که در اینجا وجود داره این هست که اگر تغییری صورت نگیره به صورت زیر مشخص خواهد شد.


If-None-Match: “15f0fff99ed5aae4edffdd6496d7131f”

1IfNoneMatch: “15f0fff99ed5aae4edffdd6496d7131f”

آموزش رفع خطای Specify a cache validator و Configure entity tags

حالا که با انواع هدر cache validator و entity tags آشنا شدید، برای اینکه ارور Specify a cache validator و Configure entity tags رو در جی تی متریکس برطرف کنید، باید هر دو یا حداقل یکی از درخواست‌های Last-Modified یا Etag رو از سمت وب سرور برای مرورگر ارسال کنید. معمولا درخواست Last-Modified به صورت عمومی در همه وب سرورها فعال هست و مشکلی از این بابت وجود نخواهد داشت. درخواست Etag هم در سرورهای نوع آپاچی با ورژن بالاتر از 2.4 و برای وب سرور NGINX که از نسخه 2016 به بعد ارائه شده فعال هست که برای این نوع سرورها نیازی به فعال کردن دستی ندارید.

حالا شاید این سوال براتون پیش بیاد که با این شرایط سرور که توضیح داده شد، پس چرا با خطا Specify a cache validator و Configure entity tags مواجه شدید؟

این مورد کاملا به کانفیگ سرور توسط شرکت هاستینگ شما بستگی داره و اگه با دو خطای Specify a cache validator و Configure entity tags در جی تی متریکس مواجه شدید باید از شرکت هاستینگ خودتون بخواین که این وضعیت رو اصلاح بکنند. چرا که شما دسترسی لازم رو برای تغییرات سرور ندارید و تنها در صورتی خودتون میتونید این خطاها رو برطرف کنید که به سرور دسترسی داشته باشید. اگر پاسخی از سمت هاستینگ برای اصلاح این موارد نگرفتید هم باید از هاست شرکت معتبری استفاده کنید که این موارد رو رعایت کرده باشه.

امیدوارم این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید نسبت به رفع خطای Specify a cache validator و Configure entity tags در جی تی متریکس اقدام کنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید تا در کوتاه‌ترین زمان ممکن پاسخگوی شما باشم.



رفع خطای Specify a cache validator و
رفع خطای Specify a cache validator و ارور Configure entity tags


رفع خطای Specify a cache validator
رفع خطای Specify a cache validator خطای Specify a cache validator


cache validator و Configure entity
ویدئوی آموزشی خطای Specify a cache validator و Configure entity


رفع خطای Specify a cache validator خطای Specify a cache
آموزش بهبود سرعت سایت با GTmetrix رفع خطاهای PageSpeed. در این جلسه قصد داریم درباره مشکل رایج Specify a cache validator و حل آن در جی تی متریکس صحبت کنیم و بررسی کنیم راه حل این مشکل هم مثل بقیه مشکلات دیگر ساده میباشد پس با ما همراه


آموزش - آموزش رفع خطای Specify a cache validator و
یکی از خطاهای رایجی که هنگام تست سرعت سایت با GTmetrix بهش بر میخوریم با عنوان Specify a cache validator و Configure entity tags نمایش داده میشه که در بخش Yslow جی تی متریکس نمایش داده میشه و مربوط به کش سرور میشه. فایلهایی که در سرور کش میشن بستگی


رفع خطای Specify a cache validator و Configure entity tags
آموزش کامل رفع پنالتی گوگل الگوریتم پاندا . سپتامبر 8 2015. تبلیغات شما در اینجا. رفع خطای Specify a cache validator و Configure entity tags. آخرین به روز رسانی نوامبر 4 2018 توسط administrator بدون دیدگاه اشتراک گذاری توییت


خطای Minify HTML در gtmetrix
بایگانیهای آموزش رفع خطای Minify HTML در gtmetrix ای بی وب


رفع خطای Specify a cache validator و Configure entity tags
مقاله رفع خطای Specify a cache validator و Configure entity tags در سایت GTmetrix نیز به پایان رسید. امیدواریم با این آموزش دوبست توانسته باشیم کمک شایانی در افزایش سرعت سایت و بهبود سئو به شما همراهان کرده باشیم.


رفع خطای Specify a cache validator و Configure entity tags
04.11.2018 در این مقاله داریم درباره مشکل رایج Specify a cache validator و حل آن در جی تی متریکس صحبت کنیم. خلاصهای از خطا Specify a cache validator نام Specify a cache validator نوع سرور اولویت زیاد میزان سختی راحت میانگین امتیاز 92 درباره خطای Specify a cache validator


خطای Specify a cache validator
آموزش رفع خطای Specify a cache validator و Configure entity tags

برچسب ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

یک × یک =

دکمه بازگشت به بالا
بستن