Γιατί μια εικόνα από την προσωρινή μνήμη δεν μετριέται
Σχετικά με το περιεχόμενο και τον έλεγχό του
Σε αυτό το άρθρο
Μια συχνή πηγή σύγχυσης γύρω από τα στατιστικά ιστοτόπων είναι η τοπική αποθήκευση αρχείων, γνωστή συνήθως ως προσωρινή μνήμη (cache) του προγράμματος περιήγησης. Τα προγράμματα περιήγησης είναι σχεδιασμένα για μέγιστη αποδοτικότητα και ταχύτητα.
Όταν κάποιος επισκέπτεται μια σελίδα για πρώτη φορά, το πρόγραμμα περιήγησης κατεβάζει όλα τα απαραίτητα κείμενα, τις διατάξεις και τα γραφικά. Για να μη σπαταλά χρόνο και πόρους δικτύου στις επόμενες επισκέψεις, αποθηκεύει αντίγραφα αυτών των στατικών αρχείων στον τοπικό σκληρό δίσκο.
Αν η ίδια ακριβώς σελίδα ανοιχτεί ξανά λίγο αργότερα, το πρόγραμμα περιήγησης παίρνει τα γραφικά απευθείας από αυτή την τοπική μνήμη, αντί να ζητήσει νέο αντίγραφο από τον απομακρυσμένο διακομιστή. Η διαδικασία αυτή μειώνει δραστικά τους χρόνους φόρτωσης, επηρεάζει όμως άμεσα τον τρόπο με τον οποίο λειτουργούν τα εξωτερικά εργαλεία μέτρησης.
Η επίσκεψη που ο διακομιστής δεν βλέπει ποτέ
Ο μηχανισμός μιας καταμέτρησης μέσω εικόνας βασίζεται αποκλειστικά στο ότι ο διακομιστής λαμβάνει ένα αίτημα. Αν το πρόγραμμα περιήγησης κρίνει ότι το τοπικά αποθηκευμένο αντίγραφο του γραφικού είναι ακόμη απολύτως έγκυρο, δεν στέλνει ποτέ κανένα μήνυμα μέσω του διαδικτύου.
Από τη σκοπιά του διακομιστή, η δεύτερη επίσκεψη απλώς δεν έγινε ποτέ. Κατά συνέπεια, οι εσωτερικοί αριθμοί στη βάση δεδομένων δεν ενημερώνονται και το γραφικό στην οθόνη εξακολουθεί να δείχνει την προηγούμενη τιμή.
Αυτή η συμπεριφορά οδηγεί συχνά στην εσφαλμένη πεποίθηση ότι το εργαλείο είναι χαλασμένο, ιδίως σε φάσεις δοκιμών, όταν μια σελίδα ανανεώνεται πολλές φορές στη σειρά μέσα σε λίγο χρόνο. Το ότι ο αριθμός δεν ενημερώνεται δεν είναι αποτυχία του συστήματος, αλλά ένδειξη ότι το πρόγραμμα περιήγησης λειτουργεί ακριβώς όπως προβλέπεται, για να εξοικονομεί δεδομένα.
Η οδηγία που ταξιδεύει μαζί με το αρχείο
Για να ρυθμίσουν αυτή τη συμπεριφορά, οι διακομιστές μπορούν να επισυνάπτουν συγκεκριμένες οδηγίες στα αρχεία που παραδίδουν. Οι οδηγίες αυτές, γνωστές ως κεφαλίδες προσωρινής αποθήκευσης (cache headers), λένε στο πρόγραμμα περιήγησης που τα λαμβάνει πόσο ακριβώς χρόνο πρέπει να κρατηθεί ένα αρχείο και πότε πρέπει να ζητηθεί νέο αντίγραφο. Μια φωτογραφία σε μια συλλογή μπορεί να συνοδεύεται από οδηγίες που επιτρέπουν να αποθηκευτεί για έναν ολόκληρο χρόνο.
Ένα δυναμικό γραφικό που δείχνει έναν αριθμό ο οποίος αλλάζει συνεχώς απαιτεί όμως εντελώς διαφορετικούς κανόνες. Ο διακομιστής που δημιουργεί το γραφικό πρέπει να δίνει ρητή οδηγία στο πρόγραμμα περιήγησης να μην αποθηκεύει ποτέ την εικόνα ή τουλάχιστον να ελέγχει με τον διακομιστή αν είναι ακόμη επίκαιρη σε κάθε προβολή σελίδας.
Ακρίβεια έναντι φόρτου εργασίας
Η εφαρμογή αυτών των αυστηρών κανόνων εξασφαλίζει πολύ μεγαλύτερη ακρίβεια, καθώς αναγκάζει το πρόγραμμα περιήγησης να δηλώνει την παρουσία του κάθε φορά που ανοίγει η σελίδα. Ωστόσο, η πλήρης απενεργοποίηση της προσωρινής μνήμης για το γραφικό μέτρησης σημαίνει επίσης ότι ο διακομιστής πρέπει να επεξεργάζεται σημαντικά μεγαλύτερο όγκο αιτημάτων.
Πρέπει να διαθέτει υπολογιστική ισχύ για να σχεδιάζει ξανά την εικόνα σε κάθε ανανέωση, ακόμη κι αν ο αριθμός έχει αλλάξει μόνο κατά ένα.
Η σωστή ισορροπία ανάμεσα στην ακριβή καταγραφή και στη λογική διαχείριση των πόρων είναι βασικό καθήκον όταν λειτουργεί κανείς μια τέτοια υπηρεσία. Μερικές φορές μια μικρή καθυστέρηση στην ενημέρωση του ορατού αριθμού είναι ένα αντάλλαγμα που αξίζει, ώστε η συνολική υποδομή να μένει γρήγορη και να ανταποκρίνεται άμεσα και το κύριο περιεχόμενο της σελίδας να μην καθυστερεί ποτέ.
Γιατί η ανανέωση δεν αποδεικνύει τίποτα
Όταν κατανοήσει κανείς τον ρόλο της τοπικής μνήμης, γίνεται σαφές γιατί η επανειλημμένη χειροκίνητη ανανέωση είναι κακή μέθοδος για τον έλεγχο της ακρίβειας ενός εργαλείου μέτρησης.
Αν οι αριθμοί αρνούνται να ανέβουν αφού πατηθεί πέντε φορές το κουμπί ανανέωσης, η πιθανότερη εξήγηση είναι ότι το πρόγραμμα περιήγησης απλώς επαναχρησιμοποιεί το γραφικό που κατέβασε την πρώτη φορά. Το άνοιγμα ενός εντελώς διαφορετικού προγράμματος περιήγησης ή η χρήση άλλης συσκευής σε διαφορετική σύνδεση δικτύου παρακάμπτει εντελώς την τοπική μνήμη και επιβάλλει νέο αίτημα.
Αυτή η προσέγγιση δίνει πολύ σαφέστερη εικόνα για το αν ο διακομιστής καταγράφει σωστά τις νέες αφίξεις και δημιουργεί ενημερωμένα γραφικά για τη σελίδα.