HTTP được sử dụng một cách đặc trưng cho các hệ thống thông tin được phân phối, nơi mà hiệu suất có thể được nâng cao bởi sử dụng các bộ nhớ ẩn phản hồi. Giao thức HTTP/1.1 bao gồm một số các yếu tố được dự định để thực hiện các công việc lưu vào bộ nhớ ẩn.
Mục tiêu của lưu vào bộ nhớ ẩn trong HTTP/1.1 là để tính toán sự cần thiết để gửi các yêu cầu trong nhiều trường hợp, và để tính toán sự cần thiết để gửi các sự phản hồi đầy đủ trong nhiều trường hợp khác.
Kỹ thuật bộ nhớ ẩn cơ sở trong HTTP/1.1 là gồm các chỉ thị tới các bộ nhớ ẩn nơi mà Server xác định thời gian và ngày mãn hạn. Chúng ta sử dụng trường Cache-Control cho mục đích này.
Trường Cache-Control cho phép một Client hoặc Server để truyền các chỉ thị đa dạng trong hoặc các yêu cầu hoặc các sự phản hồi. Những chỉ thị này có đặc trưng là có quyền ưu tiên cao hơn các thuật toán lưu vào bộ nhớ ẩn theo mặc định. Các chỉ thị lưu vào bộ nhớ ẩn được xác định trong một danh sách phân biệt nhau bởi dấu phảy. Ví dụ:
Cache-control: no-cache
Sau đây là các chỉ thị yêu cầu bộ nhớ ẩn có thể được sử dụng bởi Client trong yêu cầu HTTP của nó:
Chỉ dẫn yêu cầu bộ nhớ ẩn | Mô tả |
---|---|
no-cache | Một bộ nhớ ẩn phải không sử dụng phản hồi để làm thỏa mãn một yêu cầu theo sau mà không tái xác nhận thành công với Server ban đầu. |
no-store | Bộ nhớ ẩn không nên lưu giữ bất cứ thứ gì về yêu cầu Client hoặc phản hồ Server. |
max-age = (tính bằng giây) | Chỉ ra rằng Client đang muốn chấp nhận một phản hồi mà thời gian của nó không lớn hơn thời gian đã xác định bằng giây (s). |
max-stale [= giây] | Chỉ ra rằng Client đang muốn chấp nhận một phản hồi mà đã vượt thời gian mãn hạn. Nếu số giây được cung cấp, nó phải không là hết hạn bởi nhiều hơn thời gian đó. |
min-fresh = giây | Chỉ ra rằng Client đang muốn chấp nhận một phản hồi mà thời gian sống khỏe của nó là không ít hơn tuổi hiện tại của nó cộng với thời gian đã xác định bằng giây. |
no-transform | Không chuyển đổi phần thân đối tượng. |
only-if-cached | Không lấy dữ liệu mới. Bộ nhớ ẩn có thể gửi một tài liệu chỉ khi nó ở trong bộ nhớ ẩn, và không nên liên hệ với Server ban đầu để xem xét nếu một bản sao mới hơn tồn tại. |
Các chỉ thị phản hồi bộ nhớ ẩn sau đây có thể được sử dụng bởi Server trong phản hồi HTTP của nó:
Chỉ dẫn phản hồi bộ nhớ ẩn | Mô tả |
---|---|
public | Chỉ ra rằng phản hồi có thể được giữ trong bộ nhớ ẩn bởi bất cứ bộ nhớ ẩn nào. |
private | Chỉ ra rằng tất cả hoặc một phần của thông báo phản hồi được xem như là cho một người sử dụng đơn và phải không được giữ trong bộ nhớ ẩn bởi một bộ nhớ ẩn được chia sẻ. |
no-cache | Một bộ nhớ ẩn phải không sử dụng phản hồi để thỏa mãn một yêu cầu theo sau mà không tái xác nhận thành công với Server ban đầu. |
no-store | Bộ nhớ ẩn không nên lưu bất cứ gì về yêu cầu Client hoặc phản hồi Server. |
no-transform | Không chuyển đổi phần thân đối tượng. |
must-revalidate | Bộ nhớ ẩn phải xác minh trạng thái của các tài liệu đã cũ trước khi sử dụng nó và các tài liệu đã mãn hạn không nên được sử dụng. |
proxy-revalidate | Chỉ dẫn tái xác nhận ủy quyền có cùng ý nghĩa với chỉ dẫn must-revalidate, ngoại trừ nó không áp dụng tới các bộ nhớ ẩn user agent không được chia sẻ.. |
max-age = giây | Chỉ ra rằng Client đang muốn chấp nhận một yêu cầu mà tuổi của nó không lớn hơn thời gian đã xác định bằng giây. |
s-maxage = giây | Tuổi tối đa được xác định bởi chỉ dẫn này vượt quá tuổi tối đa đã xác định bởi hoặc chỉ dẫn max-age hoặc Expires Header. Chỉ dẫn s-maxage luôn luôn được bỏ qua bởi một bộ nhớ cá nhân. |
Theo Tutorialspoint
Bài trước: Các trường Header trong HTTP
Bài tiếp: Mã hóa URL trong HTTP