Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để ngăn chặn bộ nhớ đệm trong Internet Explorer

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:234067
TÓM TẮT
Bài viết này mô tả việc sử dụng các tiêu đề HTTP để kiểm soát các bộ nhớ đệm của trang Web trong Internet Explorer.

Bạn có thể sử dụng Microsoft Internet Information Server (IIS) để dễ dàng đánh dấu các trang web rất dễ bay hơi hoặc nhạy cảm bằng cách sử dụng đoạn mã sau vào đầu các trang cụ thể Active Server Pages (ASP), cực:
<% Response.CacheControl = "no-cache" %><% Response.AddHeader "Pragma", "no-cache" %><% Response.Expires = -1 %>				
THÔNG TIN THÊM

Hết hạn và các tiêu đề hết hạn

Nó cao được đề nghị rằng tất cả các máy chủ Web sử dụng một đề án cho hết hạn của tất cả các trang Web. Đó là thực hành xấu cho một máy chủ Web không để cung cấp hết hạn thông tin thông qua phản ứng tiêu đề HTTP hết hạn cho mỗi tài nguyên quay trở lại khách hàng yêu cầu. Hầu hết các trình duyệt và trung cấp proxy hôm nay tôn trọng này hết hạn thông tin và sử dụng nó để tăng hiệu quả của truyền thông qua mạng.

Tiêu đề hết hạn nên luôn luôn được sử dụng để xác định thời gian hợp lý nhất khi một tập tin cụ thể trên máy chủ cần phải được cập nhật của khách hàng. Khi các trang được cập nhật thường xuyên, giai đoạn tiếp theo cho Cập Nhật là phản ứng hiệu quả nhất. Đi, ví dụ, một trang tin tức hàng ngày trên Internet được cập nhật mỗi ngày lúc 05: 00 Các máy chủ Web cho trang tin tức này nên trở về một tiêu đề hết hạn với một giá trị cho 5 giờ sáng ngày hôm sau. Khi điều này được thực hiện, trình duyệt không cần phải liên hệ với hệ phục vụ Web một lần nữa cho đến khi trang đã thực sự thay đổi.

Các trang không phải thay đổi nên được đánh dấu bằng một ngày hết hạn của khoảng một năm.

Trong nhiều trường hợp, các máy chủ Web có một hoặc nhiều dễ bay hơi trang trên một máy chủ có chứa thông tin, mà có thể thay đổi ngay lập tức. Các trang này nên được đánh do đó dấu bởi các máy chủ với một giá trị của "-1" cho tiêu đề hết hạn. Ngày trong tương lai yêu cầu bởi người dùng, trình duyệt Internet Explorer thường liên hệ các máy chủ Web Cập Nhật cho trang đó thông qua một điều kiện nếu-Modified-Since yêu cầu. Tuy nhiên, trang vẫn còn trong bộ nhớ cache đĩa ("tệp Internet tạm thời") và được sử dụng trong các tình huống thích hợp mà không có liên hệ với hệ phục vụ Web từ xa, chẳng hạn như khi chuyển tiếp nút Lùi lại và được sử dụng để truy cập vào lịch sử chuyển hướng hoặc khi trình duyệt là trong chế độ gián tuyến.

Các tiêu đề Cache-Control

Các trang nhất định, tuy nhiên, là như vậy dễ bay hơi hoặc nhạy cảm mà họ yêu cầu không có đĩa bộ nhớ đệm. Để kết thúc này, Internet Explorer hỗ trợ các tiêu đề HTTP 1.1 Cache-Control, ngăn chặn tất cả caching của một nguồn tài nguyên Web cụ thể khi bộ nhớ cache không có giá trị được xác định bởi một máy chủ HTTP 1.1.

Bởi vì các trang được lưu giữ ra khỏi bộ nhớ cache không có thể truy cập cho đến khi trình duyệt có thể re-contact các máy chủ Web, máy chủ nên sử dụng các tiêu đề Cache-Control ít. Trong hầu hết trường hợp, việc sử dụng "hết hạn: -1" được ưa thích.

Pragma: No-Cache Header

Thật không may, các máy chủ HTTP 1.0 kế thừa không thể sử dụng các tiêu đề Cache-Control. Đối với mục đích tương thích ngược với các máy chủ HTTP 1.0, Internet Explorer hỗ trợ một cách sử dụng đặc biệt của HTTP Pragma: bộ nhớ cache không có tiêu đề. Nếu khách hàng liên lạc với hệ phục vụ trên kết nối an toàn (https: / /) và máy chủ trả về một Pragma: không nhớ cache tiêu đề với những phản ứng, Internet Explorer không nhớ cache các phản ứng.

Lưu ý, tuy nhiên, rằng Pragma: bộ nhớ cache không có tiêu đề không được dự định cho việc này. Theo HTTP 1.0 và 1,1 thông số kỹ thuật, tiêu đề này được định nghĩa trong bối cảnh của một yêu cầu duy nhất, không phải là một phản ứng, và thực sự là dành cho các máy chủ proxy có thể khiến một số yêu cầu quan trọng đến máy chủ Web đích. Cho các ứng dụng trong tương lai, các tiêu đề Cache-Control là phương tiện thích hợp cho việc kiểm soát bộ nhớ đệm.

HTTP-EQUIV META Tags

Các trang HTML cho phép cho một hình thức HTTP-EQUIV đặc biệt của các từ khóa META xác định phần đầu HTTP cụ thể từ bên trong các tài liệu HTML. Đây là một ví dụ ngắn HTML trang có sử dụng cả hai Pragma: no-bộ nhớ cache và hết hạn: -1:
<HTML><HEAD><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><META HTTP-EQUIV="Expires" CONTENT="-1"></HEAD><BODY></BODY></HTML>				
Pragma: không nhớ cache ngăn chặn bộ nhớ đệm chỉ khi được sử dụng trên một kết nối an toàn. Pragma: không nhớ cache META từ khóa điều trị hệt để hết hạn: -1 Nếu được sử dụng trong một trang không an toàn. Trang web sẽ được lưu trữ nhưng đánh dấu là ngay lập tức hết hạn.

Bộ nhớ cache-Control META HTTP-EQUIV tags đang bị bỏ qua và không có hiệu lực trong các phiên bản Internet Explorer 4 hoặc 5. Sử dụng bộ nhớ Cache-Control tiêu đề này phải được xác định bằng cách sử dụng phần đầu HTTP như được diễn tả trong phần bộ nhớ Cache-Control ở trên.

Lưu ý rằng việc sử dụng các tiêu đề HTTP tiêu chuẩn được nhiều ưa thích trong thẻ META. Thẻ META thường phải xuất hiện ở phía trên cùng của phần đầu HTML. Và có ít nhất một vấn đề được biết đến với các Pragma HTTP-EQUIV META tag. Để biết thêm thông tin, hãy bấm vào số bài viết sau để xem bài viết trong Cơ sở Kiến thức Microsoft:
222064"Pragma: không nhớ cache" từ khóa có thể không ngăn trang được lưu trữ

Tùy chọn máy chủ cho bộ nhớ đệm

Khi các tiêu đề Cache-Control cần phải được sử dụng trên các trang ASP không, nó có thể cần thiết để sử dụng tùy chọn trong cấu hình máy chủ để thêm tiêu đề này tự động. Tham khảo tài liệu máy chủ quá trình của việc thêm các tiêu đề HTTP đến máy chủ hồi đáp cho một thư mục cụ thể. Ví dụ, trong IIS 4, làm theo các bước sau:
  • Gọi người quản lý dịch vụ Internet.
  • Bằng cách sử dụng máy tính và dịch vụ cây, mở Default Web Server (hoặc máy chủ web trong câu hỏi) và tìm thư mục có chứa nội dung mà cần tiêu đề Cache-Control.
  • Đưa lên hộp thoại thuộc tính cho thư mục đó.
  • Chọn tab phần đầu HTTP.
  • Bấm vào nút Add Custom HTTP Headers nhóm và thêm "Bộ nhớ Cache-Control" cho tiêu đề tên và bộ nhớ "no-cache" cho giá trị đầu trang.
Hãy nhớ rằng nó không phải là một ý tưởng tốt để sử dụng tiêu đề này trên toàn cầu trên hệ phục vụ Web toàn bộ. Hạn chế sử dụng của nó hoàn toàn vào nội dung mà hoàn toàn không phải được lưu trữ trên máy khách.Danh sách kiểm tra vấn đềNếu bạn đã áp dụng các kỹ thuật trong bài viết này và bạn vẫn còn gặp vấn đề với bộ nhớ đệm và Internet Explorer, hãy xem lại danh sách kiểm tra tiện này từng bước trước khi liên hệ với Microsoft để được hỗ trợ kỹ thuật hỗ trợ:
  • Bạn đang sử dụng các tiêu đề Cache-Control với ASP "Response.CacheControl" bất động sản hoặc thông qua một tiêu đề HTTP trả lại? Đây là cách duy nhất để thực sự ngăn chặn bộ nhớ đệm trong Internet Explorer.
  • Bạn đang sử dụng Internet Explorer 4.01 Service Pack 2 hoặc cao hơn? Không có không có cách nào để hoàn toàn ngăn chặn bộ nhớ đệm trong phiên bản trước của trình duyệt.
  • Bạn có double-checked rằng máy chủ web của bạn có HTTP 1.1 bật và quay lại với HTTP 1.1 responses to Internet Explorer? Tiêu đề cache-Control là không hợp lệ trong hồi đáp HTTP 1.0.
  • Nếu bạn đang sử dụng CGI/ISAPI/Servlet về phía máy chủ, bạn sau HTTP 1.1 đặc điểm kỹ thuật chính xác, đặc biệt là trong quan đến CRLF chấm dứt phần đầu HTTP có? Trong sự quan tâm của hiệu suất, trình duyệt Internet Explorer là thường không hề khoan nhượng của phản ứng mà vi phạm các đặc tả HTTP 1.1. Điều này thường kết quả trong tiêu đề bị bỏ qua hoặc báo cáo lỗi máy chủ bất ngờ.
  • Đúng các tiêu đề HTTP chính tả?
THAM KHẢO
165150 Làm thế nào để sử dụng Pragma: không nhớ cache với IIS và trình duyệt IE
Để biết thêm chi tiết về HTTP/1.1, ghé thăm Web site sau để có được RFC 2616:

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 234067 - Xem lại Lần cuối: 09/22/2011 19:50:00 - Bản sửa đổi: 3.0

Microsoft Internet Explorer 4.01 Service Pack 1, Microsoft Internet Explorer 6.0

  • kbcaching kbfaq kbhowto kbmt KB234067 KbMtvi
Phản hồi