2013-03-14 57 views
5

Sự khác nhau giữa phản hồi HTTP với Cache-Control: no-cache so với Cache-Control: max-age=0, must-revalidate, proxy-revalidate là gì?"không có bộ nhớ cache" so với "độ tuổi tối đa = 0, phải xác thực lại, ủy quyền lại"

Trình duyệt có xử lý điều đó là giống hệt nhau không?

+1

Ngữ nghĩa; không nhiều. Nó ngắn hơn, mặc dù. –

+1

@MarkNottingham. Điều này có giữ trong * thế giới thực * không? Các trình duyệt có thực sự coi chúng là * giống hệt * không? – Pacerier

+0

Tôi đã không thử nghiệm trong một thời gian, nhưng tôi tin như vậy. –

Trả lời

2

Nói chung, các Trình duyệt khác nhau không hoạt động chính xác cùng một dấu phẩy. Tiêu đề bộ nhớ cache HTTP.

Một sự khác biệt nhỏ tôi nhớ (không thể tìm thấy nguồn, vì vậy tôi không phải 100% đây là mô tả hành vi chính xác) là Chrome (afair) coi max-age=0 như thể bạn đã chỉ định max-age=10 (giả sử sự khác biệt về hành vi là đủ nhỏ, nhưng tác động hiệu suất vẫn còn có ý nghĩa).

Trong mọi trường hợp, đây là một số ví dụ khác về bộ nhớ cache HTTP khác biệt hành vi giữa các trình duyệt:

  • Một số sẽ ưu tiên cho các tiêu đề HTTP 1.0 Cache (Pragma), những người khác sẽ dành ưu tiên cho HTTP 1.1 headers cache
  • Một số trình duyệt (FF +?) don't honorno-store chỉ thị và lưu trữ dữ liệu trong bộ nhớ cache được mã hóa
  • Một số trình duyệt bỏ qua no-cache chỉ được xác định sau khi public, một số khác thì không.
  • IE ignoresmax-age khi có vary.
  • , vv

giới thiệu tổng thể của tôi sẽ được sử dụng cả hai Cache-Control: no-cache, must-revalidate, proxy-revalidate, pragma: no-cache (HTTP 1.0) và Expires: 0 để đảm bảo tất cả các trình duyệt không cache nội dung với các tiêu đề.

+0

Bạn nhận được thông tin mà Chrome xử lý như thế nào 'max -age = 0' như thể chúng ta đã chỉ rõ 'max-age = 10'? – Pacerier

+0

Tôi nhớ điều này, nhưng tôi không thể tìm thấy nguồn. Tôi sẽ cập nhật câu trả lời bằng cách đặt trước cho đến khi tôi tìm được nguồn đúng. Trong bất kỳ trường hợp nào: Tôi có thể mang lại một số ví dụ về các trình duyệt không hoạt động cùng một dấu phẩy. Tiêu đề bộ nhớ cache HTTP. –