Tính năng mới này của Amazon CloudFront thực sự cực kỳ hữu ích cho nhiều trường hợp sử dụng, vì nhấn gốc hoạt động hơi khác so với giao diện đầu tiên và không nhất thiết phải là vấn đề; trong khi tính năng này đã được phát hành trước đó, tất cả đều đi kèm với bản phát hành gần đây là Amazon CloudFront - Support for Dynamic Content, ví dụ: cho câu hỏi ở bàn tay:
Variable Time-To-Live (TTL) - Trong nhiều trường hợp, nội dung động là một trong hai không thể cache hay cache trong một thời gian rất ngắn thời gian, có lẽ chỉ là một vài giây. Trước đây, TTL tối thiểu của CloudFront là 60 phút vì tất cả nội dung được coi là tĩnh. Giá trị TTL tối thiểu mới là 0 giây. Nếu bạn đặt TTL cho một nguồn gốc cụ thể thành 0, CloudFront sẽ vẫn lưu lại nội dung từ nguồn gốc đó. Nó sẽ sau đó hiện một yêu cầu GET với cấu trúc If-Modified-Since, do đó cho nguồn gốc một cơ hội để dấu hiệu cho thấy CloudFront có thể tiếp tục sử dụng nội dung cache nếu nó đã không thay đổi tại gốc. [tôi nhấn mạnh]
Nói cách khác, sử dụng một TTL là 0 có nghĩa là chủ yếu, mà các đại biểu CloudFront thẩm quyền để kiểm soát bộ nhớ cache để nguồn gốc, tức là máy chủ gốc quyết định có hay không, và nếu trong bao lâu CloudFront lưu trữ các đối tượng; xin lưu ý cụ thể, yêu cầu GET GET với tiêu đề If-Modified-Since không nhất thiết có nghĩa là đối tượng được truy xuất từ nguồn gốc, chứ không phải gốc có thể (và nên) trả về HTTP status code 304 - Not Modified nếu có:
Cho biết tài nguyên chưa được sửa đổi kể từ lần được yêu cầu gần đây nhất. [...] Sử dụng tính năng này sẽ tiết kiệm băng thông và xử lý lại trên cả máy chủ và máy khách vì chỉ dữ liệu tiêu đề phải được gửi và nhận trong so với toàn bộ trang được xử lý lại bởi máy chủ , sau đó gửi lại bằng băng thông của máy chủ và máy khách. [tôi nhấn mạnh]
Xem Đánh Nottingham tuyệt vời Caching Tutorial biết chi tiết về các cơ chế và lợi ích của việc kiểm soát HTTP cache, một phần thực sự quan trọng và hiệu quả của kiến trúc HTTP.
Hiểu được cách tất cả các bộ phận làm việc cùng nhau có thể là một chút khó khăn thực sự, theo bảng trong phần Xác định thời gian tối thiểu mà CloudFront Caches Objects cho Tải Distributions trong Specifying How Long Objects Stay in a CloudFront Edge Cache (Object Expiration) nỗ lực để tóm tắt những ảnh hưởng khi áp dụng trong bối cảnh CloudFront có hoặc không có TTL = 0 cụ thể.
Nguồn
2012-05-16 15:47:59
Đây là một phản ứng tuyệt vời. Hiểu rồi! – jatorre
Cảm ơn Steffen! Một câu trả lời hoàn toàn toàn diện và được viết tốt. AWS nên đặt điều này trong DOCS của họ !!! ha! – asherrard
Rất tốt giải thích. Nghiêm túc. +10 cho sự đơn giản và thuật ngữ được sử dụng. –