cuốn sách gpt4 ai đã làm

bộ nhớ đệm - Sự khác biệt giữa việc không có bộ nhớ đệm của Kiểm soát bộ đệm và phải xác nhận lại?

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 15:03:07 32 4
mua khóa gpt4 Nike

Từ RFC 2616

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1

không có bộ nhớ đệm

Nếu lệnh không có bộ đệm không chỉ định tên trường thì bộ đệm KHÔNG PHẢI sử dụng phản hồi để đáp ứng yêu cầu tiếp theo mà không xác thực lại thành công với máy chủ gốc. Điều này cho phép máy chủ gốc ngăn chặn việc lưu vào bộ nhớ đệm ngay cả đối với các bộ đệm đã được định cấu hình. để trả lại các phản hồi cũ cho các yêu cầu của khách hàng.

Vì vậy, nó hướng dẫn tác nhân xác thực lạitất cảphản ứng.

so với cái này

phải xác nhận lại

Khi chỉ thị phải xác nhận lại xuất hiện trong phản hồi mà bộ đệm nhận được, bộ đệm đó KHÔNG PHẢI sử dụng mục nhập sau khi nó trở nên cũ để phản hồi yêu cầu tiếp theo mà không xác thực lại nó với máy chủ gốc trước tiên

Vì vậy, nó hướng dẫn tác nhân xác thực lạilỗi thờiphản ứng.

đặc biệt là về không có bộ nhớ đệm, đây có phải là cách tác nhân người dùng thực sự xử lý lệnh này theo kinh nghiệm không?

nếu có phải xác nhận lạituổi tối đa,không có bộ nhớ đệm 有什么意义?

Thấy bình luận này:

http://palpapers.plynt.com/issues/2008Jul/cache-control-attributes/

không có bộ nhớ đệm

Mặc dù lệnh này nghe có vẻ như đang hướng dẫn trình duyệt không lưu trang vào bộ đệm, nhưng có một sự khác biệt nhỏ. Theo RFC, lệnh "không có bộ đệm" cho trình duyệt biết rằng nó nên xác thực lại với máy chủ trước khi phân phát trang từ máy chủ. cache. Xác thực lại là một kỹ thuật gọn gàng cho phép ứng dụng duy trì độ rộng băng tần. Nếu trang mà trình duyệt đã lưu vào bộ đệm không thay đổi, máy chủ sẽ báo hiệu điều đó cho trình duyệt và trang được hiển thị từ bộ đệm. lý thuyết, tại ít nhất), lưu trữ trang trong bộ đệm của nó, nhưng chỉ hiển thị nó sau khi xác thực lại với máy chủ. Trên thực tế, IE và Firefox đã bắt đầu xử lý lệnh không có bộ đệm như thể nó hướng dẫn trình duyệt thậm chí không lưu trữ trang đó. hành vi này khoảng một năm trước. Chúng tôi nghi ngờ rằng thay đổi này được thúc đẩy bởi việc sử dụng rộng rãi (và không chính xác) lệnh này để ngăn chặn bộ nhớ đệm.

Có ai có thêm thông tin chính thức về việc này không?

gia hạn

Chỉ thị phải xác nhận lại phải được máy chủ sử dụng khi và chỉ khi việc không xác thực yêu cầu trên bản trình bày có thể dẫn đến hoạt động không chính xác, chẳng hạn như giao dịch tài chính không được thực hiện một cách âm thầm.

Đây là điều mà cho đến bây giờ tôi chưa từng nghĩ đến. RFC nói không sử dụng must-revalidate một cách nhẹ nhàng. Vấn đề là, với các dịch vụ Web, bạn phải thụ động và chuẩn bị cho điều tồi tệ nhất đối với các ứng dụng khách mà bạn không biết. Bất kỳ tài nguyên lỗi thời nào cũng có thể gây ra vấn đề.

Một điều khác mà tôi vừa nghĩ đến, nếu không có Last-Modified hoặc ETag, trình duyệt chỉ có thể tìm nạp lại toàn bộ tài nguyên. Tuy nhiên, với ETag, tôi nhận thấy rằng ít nhất Chrome dường như xác thực lại mọi yêu cầu. Điều này làm cho cả hai chỉ thị không được tranh luận, hoặc ít nhất là được đặt tên kém, vì chúng không thể xác nhận lại một cách chính xác trừ khi yêu cầu cũng chứa các tiêu đề khác dẫn đến "luôn luôn xác nhận lại".

Tôi chỉ muốn làm rõ hơn điểm cuối cùng đó. Bằng cách chỉ thiết lập phải xác nhận lại Nhưng nếu không có ETag hoặc Last-Modified, proxy chỉ có thể tìm nạp lại nội dung vì nó không có gì để gửi đến máy chủ để so sánh.

Tuy nhiên, thử nghiệm thực nghiệm của tôi cho thấy rằng khi phản hồi chứa ETag hoặc dữ liệu tiêu đề đã sửa đổi, bất kể nó có hiện diện hay không phải xác nhận lại tiêu đề, proxy sẽ luôn xác thực lại.

所以 phải xác nhận lại Vấn đề là buộc "bỏ qua bộ đệm" khi nó cũ, điều này chỉ xảy ra nếu bạn đặt tuổi thọ/tuổi, vì vậy nếu phải xác nhận lại Đặt trên một phản hồi không có tuổi hoặc các tiêu đề khác, nó tương đương một cách hiệu quả với không có bộ nhớ đệm Bởi vì phản hồi sẽ bị coi là cũ ngay lập tức.

-- Vì vậy, cuối cùng tôi sẽ đánh dấu câu trả lời của Gili!

câu trả lời hay nhất

tôi tin phải xác nhận lại nghĩa là:

Khi bộ đệm hết hạn, hãy từ chối trả lại phản hồi cũ cho người dùng ngay cả khi họ nói rằng phản hồi cũ có thể chấp nhận được.

鉴于 không có bộ nhớ đệm nghĩa là:

phải xác nhận lại cộng với thực tế là phản hồi sẽ trở nên cũ kỹ ngay lập tức.

Nếu phản hồi được lưu vào bộ nhớ đệm trong 10 giây thì phải xác nhận lại sẽ bắt đầu sau 10 giây và không có bộ nhớ đệm 意味着 phải xác nhận lại 0 giây sau.

Ít nhất đó là cách giải thích của tôi.

Về bộ nhớ đệm - sự khác biệt giữa việc không có bộ nhớ đệm của Cache-Control và phải xác nhận lại? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/18148884/

32 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress