برای پاسخ تصویری که از یک کش مشترک قابل مشاهده در HTTP عبور می‌کند، عمر صریح و یک اعتبارسنج منتشر کنید. وقتی تصویر برای استفاده مجدد میان کاربران ایمن است، سرآیندهای نمونه پاسخ چنین است:

Cache-Control: public, max-age=604800
ETag: "image-v4"

عمر بر حسب ثانیه است؛ 604800 یعنی یک هفته. از public فقط برای محتوایی استفاده کنید که برای استفاده مجدد میان کاربران در نظر گرفته شده است.

اگر مرورگر و پروکسی مشترک به عمرهای متفاوتی نیاز دارند، s-maxage عمر کش مشترک را فراهم می‌کند. برای مثال، max-age=3600 همراه با s-maxage=604800 دوره تازگی طولانی‌تری به کش مشترک می‌دهد.

Expires یک تاریخ است، نه یک مدت

Expires یک برچسب زمانی به قالب تاریخ HTTP می‌گیرد. max-age آن فیلد را بازنویسی می‌کند و s-maxage برای کش‌های مشترک اولویت دارد. هنگام تولید پاسخ، هر تاریخ Expires را تولید کنید.

بارگذاری مجدد می‌تواند اعتبارسنجی بخواهد

درخواستی که شامل Cache-Control: no-cache است پیش از استفاده مجدد از پاسخ ذخیره‌شده، اعتبارسنجی موفق در مبدأ را می‌خواهد. این می‌تواند حتی زمانی رخ دهد که سیاست تازگی عادی پاسخ در غیر این صورت اجازه استفاده مجدد می‌داد.

اعتبارسنج به کش اجازه می‌دهد تصویر بدون تغییر را به‌طور کارآمد بررسی کند. پاسخ 304 می‌تواند بازنمایی ذخیره‌شده را بدون ارسال دوباره بایت‌های تصویر از مبدأ تأیید کند. بنابراین ترافیک به مبدأ به‌خودی‌خود به معنای دور انداختن شیء کش‌شده نیست.

هنگام بازبینی سیاست، استفاده مجدد عادی و بارگذاری‌های مجدد صریح را مقایسه کنید.

مقالات مرتبط