2010-03-02 41 views
10

Cụ thể trong JAX-RS (Tôi không chắc là có liên quan) có các phương pháp cho phép bạn thêm EntityTags vào phản hồi. Các thẻ thực thể chính xác là gì và chúng được sử dụng những cách thực tế nào?Thẻ đối tượng phản hồi HTTP là gì?

Trả lời

12

Thẻ đối tượng là cách kết hợp bộ nhớ đệm vào Giao thức HTTP. Khi một máy chủ trả về một đáp ứng, nó có thể đính kèm một tiêu đề ETag cung cấp một giá trị đại diện cho trạng thái của đối tượng được trả về để đáp ứng yêu cầu của máy khách.

Khi khách hàng thực hiện các yêu cầu tiếp theo cho cùng một phản hồi, nó có thể gửi lại ETag trong yêu cầu của nó bằng cách sử dụng tiêu đề If-None-Match và máy chủ có thể sử dụng điều này để xác định xem nó có cần gửi phản hồi mới hay không. đối tượng đã thay đổi) hoặc liệu nó có thể phản hồi bằng phản hồi 304 Không được sửa đổi để hướng dẫn khách hàng sử dụng bản sao được lưu trong bộ nhớ cache cục bộ của nó hay không.

Điều này thường được sử dụng trong các API RESTful và các ứng dụng trong đó bộ nhớ đệm và trạng thái đối tượng có liên quan.

Xem http://en.wikipedia.org/wiki/HTTP_ETag

3

Ngoài tham chiếu Julians: Nói chung, thẻ thực thể cho phép khách hàng, máy chủ và trung gian đồng ý về đại diện cụ thể (do đó pháp nhân thẻ) của tài nguyên.

Thỏa thuận được sử dụng để giảm sử dụng mạng (truy xuất có điều kiện) và kiểm soát đồng thời (cập nhật có điều kiện). Các công trình cũ dọc theo dòng "Gửi cho tôi đại diện hiện tại của tài nguyên này nếu nó không phải là đại diện tôi đã có" và sau này hoạt động dọc theo dòng "Áp dụng thay đổi này cho tài nguyên đó nếu nó vẫn có trạng thái mà tôi mong đợi nó phải có ").

Phần còn lại được giải thích chi tiết trong đặc tả HTTp.

Jan

Các vấn đề liên quan