Νέα | Blog Φιλοξενία
Επεξηγηματική φωτογραφία για το θέμα του άρθρου στο intraweb.host

Browser cache, server cache και CDN cache: ποια είναι η διαφορά;

Περίληψη

Το caching μπορεί να κάνει έναν ιστότοπο εντυπωσιακά ταχύτερο, αλλά η λέξη «cache» περιγράφει διαφορετικά επίπεδα που αποθηκεύουν διαφορετικά δεδομένα σε διαφορετικά σημεία.

Η cache του browser βρίσκεται πιο κοντά στον επισκέπτη

Ο browser μπορεί να κρατά αντίγραφα στατικών πόρων όπως εικόνες, stylesheets και scripts σύμφωνα με τους κανόνες HTTP caching. Σε επόμενη επίσκεψη αυτά τα αρχεία ίσως δεν χρειαστεί να μεταφερθούν ξανά μέσω δικτύου. Έτσι μειώνονται τα δεδομένα και η πλοήγηση γίνεται ταχύτερη, αλλά εξηγείται επίσης γιατί ένας χρήστης μπορεί περιστασιακά να βλέπει παλαιότερη έκδοση ενός asset μέχρι να ανανεωθεί ή να λήξει η cache.

Η server-side cache μειώνει επαναλαμβανόμενη εργασία

Μια δυναμική εφαρμογή μπορεί κανονικά να εκτελεί PHP, να κάνει queries στη βάση και να δημιουργεί HTML σε κάθε request. Page cache ή object cache μπορούν να αποφύγουν μέρος αυτής της εργασίας όταν το αποτέλεσμα μπορεί να επαναχρησιμοποιηθεί. Αυτό είναι ιδιαίτερα χρήσιμο για περιεχόμενο που ζητείται συχνά αλλά αλλάζει σχετικά σπάνια. Η ρύθμιση πρέπει φυσικά να γνωρίζει τι δεν πρέπει ποτέ να μοιράζεται, όπως προσωπικά στοιχεία λογαριασμού ή checkout.

Ένα CDN φέρνει επαναχρησιμοποιήσιμο περιεχόμενο πιο κοντά

Ένα content delivery network μπορεί να αποθηκεύει κατάλληλες απαντήσεις σε edge locations σε διαφορετικές περιοχές. Ο επισκέπτης λαμβάνει έτσι cached περιεχόμενο από κοντινότερο σημείο αντί να ζητά κάθε αντικείμενο από τον origin server. Αυτό μειώνει latency και φόρτο στον origin, χωρίς να τον καταργεί: cache misses, δυναμικά requests και ανανεώσεις εξακολουθούν να τον χρειάζονται.

Το σωστό caching είναι συντονισμένο, όχι απλώς επιθετικό

Περισσότερη cache δεν σημαίνει αυτόματα καλύτερο αποτέλεσμα. Πολύ μεγάλοι χρόνοι δυσκολεύουν τη διάδοση αλλαγών, ενώ πολύ μικροί περιορίζουν το όφελος απόδοσης. Μια καλή στρατηγική ορίζει τι αποθηκεύεται, για πόσο, πώς γίνεται invalidation μετά από αλλαγές και ποιο επίπεδο έχει την ευθύνη. Όταν browser, εφαρμογή και CDN συνεργάζονται σωστά, η ταχύτητα βελτιώνεται χωρίς να θυσιάζεται η ορθότητα.

Κοινοποίηση: Facebook LinkedIn X Email