Τρόπος αποτροπής της προσωρινής αποθήκευσης στον Internet Explorer

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 234067 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Περίληψη

Αυτό το άρθρο περιγράφει τη χρήση των κεφαλίδων HTTP για τον έλεγχο της προσωρινής αποθήκευσης ιστοσελίδων Web στον Internet Explorer.

Μπορείτε να χρησιμοποιήσετε τον Microsoft Internet Information Server (IIS) για να επισημάνετε εύκολα πολύ ασταθείς ή ευπαθείς σελίδες, χρησιμοποιώντας την ακόλουθη δέσμη ενεργειών στην αρχή των συγκεκριμένων σελίδων ASP (Active Server Pages):
<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>
				

Περισσότερες πληροφορίες

Λήξη και κεφαλίδα λήξης

Συνιστάται ιδιαίτερα σε όλους τους διακομιστές Web να χρησιμοποιούν ένα συνδυασμό για τη λήξη όλων των ιστοσελίδων. Δεν είναι καλή πρακτική για ένα διακομιστή Web να μην παρέχει πληροφορίες λήξης μέσω της κεφαλίδας απόκρισης "Λήξη HTTP" (HTTP Expires) για κάθε πόρο που επιστρέφεται στους πελάτες που υποβάλλουν αίτηση. Τα περισσότερα προγράμματα περιήγησης και ενδιάμεσοι διακομιστές μεσολάβησης λαμβάνουν σοβαρά υπόψη τους αυτές τις πληροφορίες λήξης και τις χρησιμοποιούν για να αυξήσουν την αποτελεσματικότητα των επικοινωνιών μέσω του δικτύου.

Η κεφαλίδα "Λήξη" (Expires) πρέπει πάντοτε να χρησιμοποιείται για τον καθορισμό του πιο εύλογου χρονικού σημείου όπου ένα συγκεκριμένο αρχείο του διακομιστή χρειάζεται να ενημερωθεί από τον υπολογιστή-πελάτη. Όταν οι σελίδες ενημερώνονται τακτικά, η επόμενη περίοδος για ενημέρωση είναι η πιο αποτελεσματική απόκριση. Για παράδειγμα, ας πάρουμε μια καθημερινή ενημερωτική σελίδα στο Internet, η οποία ενημερώνεται καθημερινά στις 5 Π.Μ. Ο διακομιστής Web για αυτή την ενημερωτική σελίδα πρέπει να επιστρέφει μια κεφαλίδα "Λήξη" (Expires) με τιμή 5 Π.Μ. την επόμενη ημέρα. Όταν ολοκληρωθεί αυτή η διαδικασία, το πρόγραμμα περιήγησης δεν χρειάζεται να επικοινωνήσει ξανά με το διακομιστή Web μέχρι να αλλάξει η σελίδα.

Οι σελίδες που δεν αναμένεται να αλλάξουν πρέπει να σημειώνονται με ημερομηνία λήξης σε έναν περίπου χρόνο.

Σε πολλές περιπτώσεις, οι διακομιστές Web έχουν μία ή περισσότερες ασταθείς σελίδες σε ένα διακομιστή που περιέχει πληροφορίες, οι οποίες ενδέχεται να αλλάξουν αμέσως. Οι σελίδες αυτές πρέπει επίσης να σημειωθούν από το διακομιστή με την τιμή "-1" για την κεφαλίδα "Λήξη" (Expires). Σε μελλοντικές αιτήσεις από το χρήστη, ο Internet Explorer επικοινωνεί συνήθως με το διακομιστή Web για ενημερωμένες εκδόσεις αυτής της σελίδας, μέσω μιας αίτησης υπό όρους της μορφής If-Modified-Since. Ωστόσο, η σελίδα παραμένει στο χώρο προσωρινής αποθήκευσης του δίσκου ("Προσωρινά αρχεία Internet") και χρησιμοποιείται σε κατάλληλες περιπτώσεις χωρίς να χρειάζεται επικοινωνία με τον απομακρυσμένο διακομιστή Web, όπως στην περίπτωση όπου τα κουμπιά BACK και FORWARD χρησιμοποιούνται για την πρόσβαση στο ιστορικό πλοήγησης ή όταν το πρόγραμμα περιήγησης βρίσκεται σε κατάσταση λειτουργίας χωρίς σύνδεση.

Η κεφαλίδα Cache-Control

Ορισμένες σελίδες, ωστόσο, είναι τόσο ασταθείς ή ευαίσθητες που απαιτούν να μην γίνεται προσωρινή αποθήκευση στο δίσκο. Για αυτόν το λόγο, ο Internet Explorer υποστηρίζει την κεφαλίδα HTTP 1.1 Cache-Control, η οποία αποτρέπει ολόκληρη την προσωρινή αποθήκευση ενός συγκεκριμένου πόρου Web όταν έχει καθοριστεί η τιμή no-cache από ένα διακομιστή HTTP 1.1.

Επειδή οι σελίδες που διατηρούνται έξω από το χώρο προσωρινής αποθήκευσης δεν είναι προσβάσιμες μέχρι να υπάρξει δυνατότητα επανάληψης της επικοινωνίας με το διακομιστή Web από το πρόγραμμα περιήγησης, οι διακομιστές πρέπει να χρησιμοποιούν με μέτρο τη δυνατότητα Cache-Control. Στις περισσότερες περιπτώσεις, η χρήση της επιλογής "Λήξη: -1" ("Expires: -1) είναι προτιμότερη.

Η κεφαλίδα Pragma: Κεφαλίδα No-Cache

Δυστυχώς, οι παλαιότεροι διακομιστές HTTP 1.0 δεν έχουν τη δυνατότητα χρήσης της κεφαλίδας Cache-Control. Για λόγους συμβατότητας με παλαιότερες εκδόσεις διακομιστών HTTP 1.0, ο Internet Explorer υποστηρίζει μια ειδική χρήση του HTTP Pragma: Κεφαλίδα no-cache. Στην περίπτωση που ο υπολογιστής-πελάτης επικοινωνήσει με το διακομιστή μέσω μιας ασφαλούς σύνδεσης (https://) και ο διακομιστής επιστρέψει μια κεφαλίδα Pragma: no-cache με την απάντηση, ο Internet Explorer δεν εκτελεί προσωρινή αποθήκευση της απάντησης.

Σημειώστε, ωστόσο, ότι η κεφαλίδα Pragma: no-cache δεν προορίζεται για αυτό το σκοπό. Σύμφωνα με τις προδιαγραφές του HTTP 1.0 και του 1.1, αυτή η κεφαλίδα ερμηνεύεται μόνο μέσα στο περιβάλλον μιας αίτησης, όχι μιας απάντησης και στην πραγματικότητα προορίζεται για διακομιστές μεσολάβησης οι οποίοι ενδέχεται να εμποδίζουν συγκεκριμένες σημαντικές αιτήσεις να φθάσουν στο διακομιστή Web προορισμού. Για μελλοντικές εφαρμογές, η κεφαλίδα Cache-Control είναι το κατάλληλο μέσο για τον έλεγχο της προσωρινής αποθήκευσης.

Μετα-ετικέτες HTTP-EQUIV

Οι σελίδες HTML επιτρέπουν μια ειδική φόρμα HTTP-EQUIV για τη μετα-ετικέτα που καθορίζει συγκεκριμένες κεφαλίδες HTTP μέσα από το έγγραφο HTML. Ακολουθεί ένα σύντομο παράδειγμα σελίδας HTML που χρησιμοποιεί και τις δύο κεφαλίδες Pragma: no-cache και Expires: -1:
<HTML><HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD><BODY>
</BODY>
</HTML>
				
Pragma: η no-cache αποτρέπει την προσωρινή αποθήκευση μόνο όταν χρησιμοποιείται μέσω μιας ασφαλούς σύνδεσης. Η κεφαλίδα Pragma: Η μετα-ετικέτα no-cache θεωρείται ίδια με την Expires: -1 αν χρησιμοποιηθεί σε μια μη ασφαλή σελίδα. Η σελίδα θα αποθηκευτεί προσωρινά αλλά θα χαρακτηριστεί ότι έληξε αμέσως.

Οι ετικέτες Cache-Control META HTTP-EQUIV παραβλέπονται και δεν έχουν καμία επίδραση στις εκδόσεις 4 ή 5 του Internet Explorer. Για να χρησιμοποιηθεί η δυνατότητα Cache-Control, αυτή η κεφαλίδα πρέπει να καθοριστεί χρησιμοποιώντας κεφαλίδες HTTP, όπως περιγράφονται στην παραπάνω, στην ενότητα Cache-Control.

Σημειώστε ότι η χρήση των τυποποιημένων κεφαλίδων HTTP είναι προτιμότερη από τις μετα-ετικέτες. Οι μετα-ετικέτες κανονικά πρέπει να εμφανίζονται στο επάνω μέρος της ενότητας HTML HEAD. Υπάρχει επίσης ένα τουλάχιστον γνωστό ζήτημα με τη μετα-ετικέτα Pragma HTTP-EQUIV. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
222064 Η ετικέτα "Pragma: No-cache" είναι πιθανό να μην αποτρέπει την προσωρινή αποθήκευση της σελίδας
Επιλογές διακομιστή για προσωρινή αποθήκευση Όταν η κεφαλίδα Cache-Control χρειάζεται να χρησιμοποιηθεί σε σελίδες χωρίς ASP, ίσως είναι απαραίτητο να χρησιμοποιήσετε επιλογές της ρύθμισης παραμέτρων διακομιστή για να προσθέσετε αυτήν την κεφαλίδα αυτόματα. Ανατρέξτε στην τεκμηρίωση του διακομιστή σας που αφορά τη διαδικασία προσθήκης κεφαλίδων HTTP σε αποκρίσεις διακομιστή για ένα συγκεκριμένο κατάλογο. Για παράδειγμα, στο IIS 4, ακολουθήστε τα εξής βήματα:
  • Ενεργοποιήστε τη Διαχείριση υπηρεσιών Internet (Internet Services Manager).
  • Χρησιμοποιώντας τη δομή υπολογιστή και υπηρεσιών, ανοίξτε τον προεπιλεγμένο διακομιστή Web (ή τον εν λόγω διακομιστή Web) και βρείτε τον κατάλογο που περιέχει το περιεχόμενο που χρειάζεται την κεφαλίδα Cache-Control.
  • Εμφανίστε το παράθυρο διαλόγου "Ιδιότητες" (Properties) για αυτόν τον κατάλογο.
  • Επιλέξτε την καρτέλα HTTP Headers.
  • Κάντε κλικ στο κουμπί "Προσθήκη" (Add) της ομάδας Custom HTTP Headers και προσθέστε το στοιχείο "Cache-Control" για το όνομα της κεφαλίδας και το στοιχείο "no-cache" για την τιμή της κεφαλίδας.
Θυμηθείτε ότι δεν είναι καλή ιδέα να χρησιμοποιήσετε αυτήν την κεφαλίδα καθολικά, σε ολόκληρο το διακομιστή Web. Περιορίζει τη χρήση της καθαρά στο περιεχόμενο που δεν πρέπει για κανένα λόγο να αποθηκευθεί προσωρινά στον υπολογιστή-πελάτη. Λίστα ελέγχου ζητημάτων Εάν έχετε εφαρμόσει τις τεχνικές αυτού του άρθρου και έχετε ακόμα δυσκολίες με την προσωρινή αποθήκευση και τον Internet Explorer, εξετάστε λεπτομερώς αυτήν την εύχρηστη λίστα ελέγχου πριν επικοινωνήσετε με τη Microsoft για την παροχή τεχνικής υποστήριξης:
  • Χρησιμοποιείτε την κεφαλίδα Cache-Control με την ιδιότητα ASP "Response.CacheControl" ή μέσω μιας κεφαλίδας HTTP που έχει επιστραφεί; Αυτός είναι ο μοναδικός τρόπος για την αποτροπή της προσωρινής αποθήκευσης στον Internet Explorer.
  • Χρησιμοποιείτε το Internet Explorer 4.01 Service Pack 2 ή νεότερη έκδοση; Δεν υπάρχει τρόπος να αποτρέψετε εντελώς την προσωρινή αποθήκευση σε παλαιότερες εκδόσεις του προγράμματος περιήγησης.
  • Έχετε ελέγξει προσεκτικά αν ο διακομιστής σας Web έχει ενεργοποιημένο το HTTP 1.1 και επιστρέφει αποκρίσεις HTTP 1.1 στον Internet Explorer; Οι κεφαλίδες Cache-Control δεν είναι έγκυρες σε αποκρίσεις HTTP 1.0.
  • Εάν χρησιμοποιείτε CGI/ISAPI/Servlets στο διακομιστή, ακολουθείτε πιστά την προδιαγραφή HTTP 1.1, ειδικότερα όσον αφορά τον τερματισμό CRLF κεφαλίδων HTTP; Για χάρη της απόδοσης, ο Internet Explorer είναι συνήθως αμείλικτος σε αποκρίσεις που παραβιάζουν την προδιαγραφή HTTP 1.1. Αυτό συνήθως έχει ως συνέπεια την παράβλεψη κεφαλίδων ή αναφορών για απροσδόκητα σφάλματα διακομιστή.
  • Οι κεφαλίδες HTTP είναι γραμμένες σωστά;

Αναφορές

Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft (Knowledge Base):
189409 Έλεγχος της προσωρινής αποθήκευσης ιστοσελίδων με το IIS 4.0
165150 Τρόπος χρήσης της κεφαλίδας Pragma: No-cache with IIS and IE
Για περισσότερες πληροφορίες σχετικά με την προδιαγραφή HTTP/1.1, επισκεφθείτε την ακόλουθη τοποθεσία Web για να αποκτήσετε το RFC 2616 (στα αγγλικά):
http://www.w3.org/Protocols/rfc2616/rfc2616.html

Ιδιότητες

Αναγν. άρθρου: 234067 - Τελευταία αναθεώρηση: Δευτέρα, 19 Δεκεμβρίου 2005 - Αναθεώρηση: 4.1
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 6.0
  • Microsoft Internet Explorer 6.0 Service Pack 1
Λέξεις-κλειδιά: 
kbhowto kbcaching kbfaq KB234067

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com