2012-02-19 19 views
13

Tôi hiện đang sử dụng Akamai làm CDN, nhưng tôi nhận thấy rằng trình duyệt cũng đang lưu vào bộ nhớ cache. Thật tuyệt khi trình duyệt lưu trữ hình ảnh/css/js, nhưng tôi muốn biết nếu có một cách để không phải là bộ nhớ cache trên trình duyệt, nhưng để lưu vào bộ nhớ cache trong Akamai.Bộ nhớ cache trong CDN nhưng không có trong trình duyệt

Bây giờ, ngay bây giờ từ nguồn gốc của tôi, tôi gửi tiêu đề như thế này:

Cache-Control: public, must-revalidate, max-age=300 
Expires: Sun, 19 Feb 2012 19:04:30 GMT 
Date: Sun, 19 Feb 2012 18:59:30 GMT 

Akamai vinh danh các tiêu đề, mà còn vượt qua họ quay lại ngay cho người dùng. Điều này làm cho nó để trình duyệt thực sự lưu trữ nội dung cũng.

Điều này hoạt động tốt nhất trong thời gian, nhưng chúng tôi cũng có một số logic CDN rằng nếu người dùng có cookie đăng nhập, bỏ qua bộ nhớ cache CDN và chuyển sang xuất xứ.

Vì vậy, nếu giả sử một người dùng không được xác thực là đăng nhập "lần nhấp", họ sẽ được gửi qua quá trình đăng nhập và quay trở lại cùng một trang. Mặc dù CDN sẽ yêu cầu xuất xứ cho trang này, trình duyệt thực sự yêu cầu lại cùng một trang và có vẻ như thông tin đăng nhập không hoạt động.

Bây giờ, tôi có thể buộc rằng quy trình đăng nhập thêm thông số truy vấn như? L = 1 hoặc gì đó, nhưng phải có cách tốt hơn.

Tôi rất muốn xem liệu Akamai có thể ghi đè lên tiêu đề Bộ nhớ Cache-Kiểm soát vào một giá trị không có bộ nhớ cache không, nhưng tôi tự hỏi liệu có cách nào để thực hiện điều này không?

Cảm ơn!

+1

Tại sao bạn muốn ngăn trình duyệt lưu vào bộ nhớ cache nội dung? –

+2

Vì anh ta muốn trình duyệt tải xuống lại trang khi người dùng đăng nhập. Có lẽ để người dùng sẽ thấy trang được cá nhân hóa và không phải là cùng một html mà mọi người khác sẽ nhận được. –

Trả lời

1

Akamai cung cấp phương tiện để đặt hành vi lưu vào bộ nhớ cache khác nhau trong các máy chủ của Akamai so với các tiêu đề Cache-Control: và Expires: thông thường. Có các tiêu đề tùy chỉnh mà bạn có thể chuyển từ máy chủ gốc của bạn mà các máy chủ cạnh của Akamai hiểu, tuân thủ và loại bỏ khi họ truyền nội dung lên trình duyệt. Thông tin này có sẵn trong tài liệu cổng thông tin Akamai.

Trong trường hợp của bạn, bạn muốn hành vi thay đổi tùy thuộc vào việc người dùng có đăng nhập hay không. Bạn có thể yêu cầu đối tượng bỏ qua cache khi đối tượng được gửi đến trình duyệt cho người dùng đã đăng nhập hoặc bạn có thể sử dụng giá trị cookie để sửa đổi khóa cache (cách đối tượng được máy chủ Akamai tham chiếu), nhưng bạn có thể cần để nói chuyện với Akamai để được giúp đỡ ở đây.

Bạn sẽ cần phải rất cẩn thận ở đây để đảm bảo rằng người dùng khác của bộ nhớ cache Akamai không thể xem nội dung được cá nhân hóa. Nếu nghi ngờ, hãy thận trọng và không cho phép Akamai cache đối tượng.

19

Akamai có tiêu đề được gọi là "Kiểm soát cạnh" có cùng định dạng như Kiểm soát bộ nhớ cache. Bạn có thể chỉ định Edge-control với độ tuổi tối đa và sau đó đặt Cache-Control thành "no-cache, no-store". Điều này sẽ nhận được những gì bạn muốn.

Khi gửi tiêu đề kiểm soát Edge cho trang tôi muốn lưu vào bộ nhớ cache, tôi luôn đặt trước giá trị bằng "! Không lưu trữ" để đảm bảo Akamai lưu trữ nó. Vì vậy, định dạng sẽ là "! Không lưu trữ, tối đa tuổi = 1234" chẳng hạn.

+0

Trường hợp sử dụng có liên quan - https://community.akamai.com/thread/2704 –