การ purge ที่ CDN ไม่ได้ล้างไฟล์ที่เก็บไว้ในเบราว์เซอร์ของผู้เข้าชม ตรวจเส้นทางของ response ก่อน purge แบบกว้างหรือเพิ่ม cache TTL
เปรียบเทียบ HTML กับ asset ที่มีเวอร์ชัน
- เรียกหน้าและ asset ที่แน่นอนจาก browser session ใหม่ บันทึก status, Age, Cache-Control, ETag/Last-Modified และ CDN cache-status header หากมี
- ตรวจว่า HTML revalidate เมื่อเปิดหน้า และ JS/CSS ที่มี content hash ใช้การ cache ระยะยาว อย่ากำหนด immutable แบบหนึ่งปีให้ URL ที่เปลี่ยนเนื้อหาได้
Purge เฉพาะชั้นที่ค้าง
- หาก CDN ส่ง bytes เก่า ให้ purge เฉพาะ URL หรือ version นั้น แล้วตรวจซ้ำจากสองเครือข่าย หากค้างเฉพาะ browser เดียว ให้ทดสอบ profile ใหม่ก่อนเปลี่ยน edge rules
- หลังเปลี่ยนแล้ว ตรวจหน้าเมื่อเข้าสู่ระบบและหน้า public แยกกัน response ที่ปรับตามผู้ใช้ไม่ควรเข้า shared cache จับภาพ headers และเก็บ rollback ของกฎก่อนหน้า
ตัวอย่างและผลลัพธ์ที่คาดหวัง
- รัน
curl -sS -D page.headers -o page.html PAGE_URLสำหรับหน้า และใช้ชื่อแยกกัน เช่นasset.headersกับasset.binสำหรับ asset ที่มี hash ตรวจpage.htmlที่บันทึกไว้หรือเทียบ build identifier กับ origin เรียก GET ทั้งสองรายการซ้ำหลัง deploy แล้วเปรียบเทียบAgeและ CDN status header; ตรวจCache-ControlกับETagด้วย โดยปกติ HTML อาจไม่ได้ถูก cache ให้ตรวจ rules จริงของเว็บไซต์ก่อน - หากค้างเฉพาะ browser profile เดียว ให้ตรวจ service worker และ local cache หาก CDN ส่ง HIT เก่า ให้ purge เฉพาะ path ที่ได้รับผลกระทบแล้วทดสอบใน profile ใหม่ หาก origin ก็เก่า ให้แก้ deployment/origin ก่อน อย่า purge path ที่ไม่เกี่ยวข้อง