خرید هاست ارزان و رفع خطای Specify a cache validator و Configure entity tags

-

امروز شنبه , ۳ مهر , ۱۴۰۰ شما در خرید هاست ارزان هستید.

خرید هاست ارزان,هاست ارزان,خرید هاست وردپرس ارزان,هاست وردپرس ارزان,ثبت دامنه ارزان,هاست سی پنل ارزان,هاست ارزان قیمت,هاست لینوکس ارزان,نمایندگی هاست ارزان

خرید هاست ارزان و رفع خطای Specify a cache validator و Configure entity tags

خرید هاست ارزان یکی از خطاهای رایجی که هنگام تست سرعت سایت در GTmetrix با آن مواجه میشوید , خطای Specify a cache validator در بخش PageSpeed و خطای Configure entity tags (Etags) که در بخش Yslow جی تی متریکس نمایش داده میشود و مربوط به کش سرور است.

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

 

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

درخواستی که تحت HTTP بین سرور و مرورگر ردوبدل میشود و طی این درخواست

مدت زمان کش فایل مشخص میشود , فرآیند کش نامیده میشود. Expires مدت زمان کش شدن و Cache Control تغییر ایجاد شده در فایل ها را طی هر بازدید بررسی میکند. Expires و Cache Control درخواست های اجرایی در هدر میباشند که در انتها وضعیت Cache Length را مشخص میکنند.

این بخش را میتوانید در مرورگر خود با استفاده از کلیدهای

میانبر Ctrl + Shift + I در بخش Network زبانه Headers مشاهده کنید.

Cache Length‎‎

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

Cache Validate

پس از تعیین وضعیت Cache Length اکنون نوبت به Cache Validate میرسد تا توسط دو هدر HTTP به نام های Last-Modified و Etag تعیین کند که فایل کش شده برای چه تاریخ و چه نسخه ای است. درصورت عدم تعیین این دو هدر , با خطای Specify a cache validator روبرو خواهید شد. این دو درخواست به عنوان درخواست شرطی شناخته شده اند که بر حسب یک سری شروط وضعیت کش صفحات را مشخص میکنند.

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

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

صفحه با استفاده از فایل های کش شده و یا درخواست مجدد از سرور (درصورت ایجاد تغییر در فایل) میپردازد. این درخواست به بصورت زیر در مرورگر مشخص خواهد شد.

Last-Modified: Sun, 15 Nov 2020 11:52:10 GMT

اکنون که این تاریخ در بازدید اول به صورت کش تعیین شد , در بازدید های بعدی ابتدا

درخواستی با محتوای اینکه آیا تغییراتی در این صفحه اعمال شده است یا خیرارسال میشود.

درصورتی که برای مثال پس از ۵ روز تغییری در صفحه اعمال شود ,

مقداری که در بالا آورده بودیم به صورت زیر در هدر مرورگر نمایان خواهد شد.

Last-Modified: Fri, 20 Nov 2020 9:45:32 GMT

در این هنگام پس از ورود کاربر به سایت و ارسال درخواست به سرور , به علت ایجاد تغییر در صفحه پاسخ مثبت با کد ۲۰۰ به مرورگر ارسال میشود و مرورگر از ایجاد تغییر در صفحه مطلع شده و فایل هایی را که دستخوش تغییر شده اند را مجددا از سرور دانلود کرده و جایگزین نسخه قبلی آنها میکند و دوباره آنها را کش میکند.

درصورتی که صفحه تغییر نکرده باشد به جای کد ۲۰۰ کد ۳۰۴ یا همان Not Modified 304 که به معنای عدم تغییر صفحه است به مرورگر ارسال خواهد شد.

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

درخواست شرطی Etag نیز مشابه درخواست قبلی است اما در این درخواست با تاریخ کاری نخواهیم داشت بلکه وضعیت کش به وسیله کد هش شده توسط MD5 مشخص میشود. برای مثال در بازدید اول با استفاده از نمونه

کد MD5 زیر مشخص میشود که آخرین تغییرات با این کد هش شده است.

ETag: “۱۵f0fff99ed5aae4edffdd6496d7131f”

اکنون درصورت تغییر محتوای صفحه , کد هش شده ای که در بالا آورده ایم نیز تغییر خواهد کرد. همانند درخواست قبلی در این درخواست نیز کد ۲۰۰ یا ۳۰۴ تغییر یا عدم تغییر صفحه را مشخص میکند. درصورتی که تغییری اعمال نشود , کد زیر نمایش داده خواهد شد.

If-None-Match: “۱۵f0fff99ed5aae4edffdd6496d7131f”

اکنون جهت رفع خطای Specify a cache validator و Configure entity tags در جی تی متریکس , یک یا هردو درخواست Last-Modified و Etag را از سوی وب سرور به مرورگر ارسال کنید. در اکثر مواقع درخواست Last-Modified در تمامی وب سرورها فعال است

و درخواست Etag نیز در سرورهای آپاچی با نسخه بالاتر از ۲٫۴ و وب سرور NGINX در

نسخه های ارائه شده از ۲۰۱۶ به بعد فعال است

و نیاز به فعالسازی دستی در این نوع سرورها نخواهید داشت.

درصورتی که به سرور دسترسی ندارید و با این دو خطا مواجه شده اید شما

قادر به رفع خطا نخواهید بود و میبایست به شرکت هاستینگ مربوطه جهت رفع این ارور تیکت دهید.

امیدواریم این آموزش برای شما مفید واقع شده باشد و به کمک آن توانسته

باشید ارور Specify a cache validator و Configure entity tags را در جی تی متریکس رفع کنید.

درصورت بروز هرگونه سوال یا مشکل میتوانید آن را در بخش دیدگاه بیان کنید.خرید هاست ارزان

 

دیدگاه مطلب خرید هاست ارزان و رفع خطای Specify a cache validator و Configure entity tags