2008-10-06 36 views
234

Nội dung được yêu cầu qua https vẫn được lưu trong bộ nhớ cache bởi trình duyệt web hay chúng xem xét hành vi không an toàn này? Nếu đây là trường hợp là có anyway để nói với họ nó ok để cache?Trình duyệt web có lưu nội dung cache qua https

+0

Có trình duyệt sẽ lưu nội dung qua HTTPS kiểm tra liên kết này http://neopatel.blogspot.com/2010/02/firefox3-and-caching-https-content.html –

+0

@KalpeshPatel, Điều đó tùy thuộc vào ** thiết lập người dùng. Một số đã đặt bộ nhớ cache thành tắt cho ** tất cả ** các trang HTTPS http://blogs.msdn.com/b/ieinternals/archive/2010/04/21/internet-explorer-may-bypass-cache-for-cross- domain-https-content.aspx – Pacerier

Trả lời

126

Theo trình duyệt web mặc định sẽ lưu trữ nội dung qua HTTPS giống như trên HTTP, trừ khi được thông báo rõ ràng khác qua số HTTP Headers đã nhận.

This link là một giới thiệu tốt về cài đặt bộ nhớ cache trong tiêu đề HTTP.

có cách nào để thông báo cho họ rằng bộ nhớ cache có ổn không?

Điều này có thể đạt được bằng cách đặt giá trị max-age trong tiêu đề Cache-Control thành giá trị khác 0, ví dụ:

Cache-Control: max-age=3600 

sẽ cho trình duyệt rằng trang này có thể được lưu trữ cho 3600 giây (1 giờ)

+0

Nếu người dùng truy cập http://mysite.com và tải xuống style.css, khi họ truy cập https://mysite.com, style.css có được yêu cầu lại không? – Frank

+10

Tôi không chắc chúng ta đều ở cùng một trang ở đây. Có phải chúng ta đang nói về việc liệu nội dung HTTPS sẽ được lưu vào bộ nhớ đệm theo mặc định hay đang hỏi liệu nó có được lưu vào bộ nhớ cache giả định một số tiêu đề phản hồi HTTP nhất định không? Liên kết đến hướng dẫn lưu trong bộ nhớ cache trên web mà bạn liên kết đến từ Mark Nottingham thực sự cho thấy rằng nội dung an toàn (tức là HTTPS) hoặc được xác thực sẽ không được lưu trong bộ nhớ cache trừ khi tiêu đề kiểm soát bộ nhớ cache cho biết đó là nội dung công cộng. –

+2

Tình cờ gặp một bài viết hay: http://blog.httpwatch.com/2011/01/28/top-7-myths-about-https/ – roberkules

188

Tính đến năm 2010, tất cả, các trình duyệt hiện nay-ish hiện đại bộ nhớ cache HTTPS nội dung theo mặc định, trừ khi rõ ràng nói không đến.

Đó là không phải được yêu cầu đặt cache-control:public để điều này xảy ra.

Nguồn: Chrome, IE, Firefox.

+6

Sau đó, xu hướng chung là hướng tới việc cho phép lưu vào bộ nhớ cache của các đối tượng HTTPS; Điều này thường là một điều tốt, vì các nhà phát triển nên nói với trình duyệt không được cache các đối tượng nếu chúng nhạy cảm về tính riêng tư, và cho phép nó làm như vậy khi chúng không (ví dụ như hình ảnh, css, đặc biệt hiệu quả) trên HTTPS). Cảm ơn vì điều đó. – MarkR

+2

RFC có tuân thủ để tự động lưu trữ các tài nguyên HTTPS mà không có 'kiểm soát bộ nhớ cache: công khai' không? – Pacerier

+0

@ Trình duyệt trình duyệt xem xét RFC bằng chữ "yêu cầu nhận xét". thường RFC thay đổi để phản ánh những gì đã có trên trình duyệt. – gcb

0

Https được lưu trong bộ nhớ cache theo mặc định. Điều này được quản lý bởi một cài đặt chung mà không thể bị ghi đè bởi các chỉ thị bộ nhớ cache do ứng dụng xác định. Để ghi đè cài đặt chung, hãy chọn ứng dụng Internet Options trong bảng điều khiển và chuyển đến tab nâng cao. Chọn hộp "Không lưu các trang được mã hóa vào đĩa" trong phần "Bảo mật", nhưng việc sử dụng HTTPS một mình không ảnh hưởng đến việc liệu IE có quyết định lưu vào bộ nhớ cache tài nguyên hay không.

WinINet chỉ lưu trữ phản hồi HTTP và FTP không phản hồi HTTPS. https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928%28v=vs.85%29.aspx

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