Nếu trình duyệt tái sử dụng nội dung đã lưu, bạn có thể chưa thực hiện một yêu cầu mới tới server. Vì vậy, ảnh màn hình không thay đổi sau khi đổi proxy chưa đủ để kết luận cấu hình mới không có tác dụng.
Cache nằm ở những lớp nào?
Cache có thể ở trình duyệt hoặc trung gian. Service worker cũng có thể xử lý yêu cầu của ứng dụng. MDN về HTTP caching phân biệt private cache và shared cache. Không mặc định mọi proxy đều cache nội dung HTTPS.
Quan sát trước khi xóa
- Mở Network trước lúc tái lập lỗi.
- Xem request có được lấy từ memory, disk hoặc service worker hay không.
- Đối chiếu Cache-Control, Age và các thông tin ứng dụng cung cấp nếu có.
- Ghi nội dung mong đợi cùng dấu thời gian hoặc phiên bản dữ liệu.
- Thử một lần tải lại có kiểm soát trong môi trường thử, giữ các yếu tố khác không đổi.
Header là dấu vết cần đọc cùng tuyến thực tế. Việc một header không xuất hiện không chứng minh không có lớp cache; ứng dụng còn có thể lưu dữ liệu riêng trong bộ nhớ.
Ví dụ minh họa
Trang thử hiển thị IP nhận từ một request trước và không gọi lại endpoint khi bấm nút đổi cấu hình. Hãy xem request mới có được gửi không. Nếu không, cần sửa hành vi cập nhật giao diện hoặc thực hiện phép thử mới, thay vì suy luận từ con số cũ.
Không tắt cache đại trà
Cache đúng giúp giảm tải. Tắt trên production hoặc thêm tham số ngẫu nhiên vào mọi URL có thể làm tăng request và giảm hiệu suất. Chỉ thay điều kiện cache trong route hoặc phiên thử cần thiết, theo tài liệu của ứng dụng.
no-cache không đồng nghĩa không được lưu: nó yêu cầu kiểm tra lại trước khi dùng theo cơ chế HTTP. no-store mang mục đích khác. Đừng ghép nhiều chỉ thị một cách máy móc khi chưa xác định yêu cầu.
Kiểm tra dữ liệu cá nhân
Phản hồi có nội dung riêng tư cần chính sách phù hợp. Không mở cache chia sẻ cho dữ liệu tài khoản để tối ưu tốc độ. Trong kiểm thử, dùng dữ liệu giả và tài khoản ít quyền, tránh biến chẩn đoán thành rò rỉ nội dung giữa người dùng.
Điều kiện để kết luận
Ghi rõ request mới hay phản hồi tái sử dụng, lớp nào đã quan sát và kết quả qua tuyến nào. Đọc thêm kiểm tra IP và DNS. Không xóa toàn bộ dữ liệu trình duyệt khi chưa biết tác động tới phiên và dữ liệu làm việc.