Với một yêu cầu nên dùng phản hồi đã lưu, HTTP định nghĩa Cache-Control: only-if-cached.

Máy khách có thể gửi nó qua proxy bộ nhớ đệm HTTP:

curl --proxy http://127.0.0.1:3128 \
  --header 'Cache-Control: only-if-cached' \
  --include http://www.example.org/report

Bộ nhớ đệm tôn trọng chỉ thị này phải trả về phản hồi đã lưu phù hợp với các ràng buộc khác của yêu cầu, hoặc 504 Gateway Timeout khi không thể đáp ứng yêu cầu. Ở đây, 504 có thể thể hiện chính sách bộ nhớ đệm chứ không phải kết nối TCP thất bại tới proxy.

Chỉ thị không tự động cho phép nội dung cũ. Độ mới, yêu cầu xác thực và các trường Vary khớp vẫn quan trọng. Chỉ thị yêu cầu no-cache thay vào đó có thể yêu cầu xác thực thành công tại nguồn trước khi dùng lại.

Điều này cũng khác với việc đặt chế độ xác thực ngoại tuyến của bộ nhớ đệm. only-if-cached được mang trên từng yêu cầu riêng lẻ và thể hiện điều máy khách sẵn sàng nhận.

Hãy dùng bộ nhớ đệm hỗ trợ hành vi này. Một chỉ thị yêu cầu bị bỏ qua không phải tường lửa, nên việc ngăn chặn nghiêm ngặt lưu lượng đi lên cần một chính sách mạng hoặc máy chủ được thực thi độc lập.

Một proxy HTTPS CONNECT thông thường không thấy tiêu đề HTTP đã mã hóa và không giữ đối tượng trang từ đường hầm đó. Ví dụ cố ý dùng một tài nguyên HTTP đơn giản mà bộ nhớ đệm có thể xử lý.

Bài viết liên quan