
نوشته اصلی توسط
baharmf93
سلام و دوباره تشکر میکنم از شما
خیلی مفید بود و اینکه فهمیدم
تا اونجایی که گرفتیم اینکه این درخواستها وابسطه هم نیستن ولی به هم ربط دارن برای کش کردن صحیح فایلها
من داشتم مقاله زیر که لینکش رو قرار دادم رو میخوندم که مربوط به همین موضوع هست، اکثر جاهاش رو فهمیدم جز یک پاراگراف
شما میتونید راهنمایی کنید؟
گفته:
این رو میگه که هدر Cache-Control و Expires برای این هست که یک زمانی رو تعیین کنن ک فلان فایل چ مدت در مرورگر کاربر ذخیره بشه، از اونجا که میگه Remember و ... خب متوجه نشدم منظورش کدوم از این چهارتاست Last-Modified این Etag این Cache-Control و یا این Expires
ولی اینطوری برداشت کردم که میگه باید هر دو هدر Cache-Control و Expires باشن و یکی از هدرهای Last-Modified و یا این Etag کافیه
درسته؟
منبع
ممنون

این بخش Remember که میگید فقط نوشته یادتون نره که خطا هایی که سایت Pingdom و GTmetrix دادن رو رفع کنید و بعدش مطمئن بشید که حتماً یک Header داشته باشید که هم کش رو فعال کنه و هم مدت زمانش رو دقیق مشخص کنه.
Cache-Control که گزینه اصلی فعال کردن Caching تحت مرورگر هستش و باید با همه سایر موارد به صورت public یا private فعال باشه اما درباره وجود هم max-age و هم Expires باید بدونید که اینجا صرفاً منظورش این بوده که بالاخره با یه روش مدت کش رو مشخص کنید ولی نگفته که حتماً هم max-age و هم Expires با هم تعیین بشه توجه کنید که در منبع قبلی که دادید ذکر شده بود که اگر max-age و Expires با هم تعیین بشن مرورگر max-age رو استفاده میکنه و Expires رو نادیده میگیره.
درباره هدر های کش شرطی مثل Last-Modified و Etag تا وقتی شما بدون هیچ شرطی فایل ها و صفحات رو تا یه تاریخ و زمان خاص با max-age یا Expires کش میکنید فکر نکنم نیاز به تعیین همزمان Last-Modified یا Etag باشه اما شاید وقتی Last-Modified همراهش ست شده باشه بتونید مشکل تازه سازی نشدن کش وقتی تغییری میدین برای بعضی بازدیدکنندگان که گاهی نیاز به زدن کلید های Ctrl+F5 پیدا میکنن رو حل کنید اما دقیق در این مورد اطلاع ندارم که آیا Last-Modified نسبت به max-age و Expires اولویت داده میشه یا نه و همچنین وقتی max-age یا Expires فعال باشه مرورگر باز هم رکوئست هدر مخصوص Last-Modified که If-Modified-Since هست رو به وب سرور ارسال میکنه که نسبت به تغییرات جدید اون فایل یا صفحه دوباره لودش کنه یا نه لزومی نمی بینه.