DedSec Project

Αρχιτεκτονική ιστοσελίδας πρώτα offline — DedSec Project

Αρχιτεκτονική ιστοσελίδας πρώτα offline Τι συμβαίνει Χώρισε την τοπική βιβλιοθήκη από προαιρετικά εξωτερικά APIs. Τα βασικά μαθήματα πρέπει να εμφανίζονται ακόμη κι αν πέσει ένα εξωτερικό…

Τι συμβαίνει

Χώρισε την τοπική βιβλιοθήκη από προαιρετικά εξωτερικά APIs. Τα βασικά μαθήματα πρέπει να εμφανίζονται ακόμη κι αν πέσει ένα εξωτερικό feed.

Πρακτικός έλεγχος

Αποθήκευσε μόνο απαραίτητες προτιμήσεις χρήστη και εμφάνισε πότε δημιουργήθηκαν απομακρυσμένα δεδομένα cache.

Συνήθεις παγίδες

Αν ο browser μπλοκάρει τοπικά fetch requests, χρησιμοποίησε localhost static server αντί να παρακάμψεις πολιτικές ασφαλείας.

Μικρό παράδειγμα για προσαρμογή

python -m http.server 8765 --bind 127.0.0.1

Έλεγξε όριο bundled περιεχομένου και προαιρετικών υπηρεσιών

Ξεκίνα το local HTTP server με δίκτυο, φόρτωσε library και άνοιξε μερικά μαθήματα. Έπειτα μπλόκαρε external requests διατηρώντας localhost και κάνε reload. Μαθήματα, search και local assets πρέπει να λειτουργούν, ενώ το remote feed να δηλώνει unavailable ή dated cache. Offline emulation που μπλοκάρει και localhost είναι άλλο πείραμα και δεν αποδεικνύει μόνο του αν το bundle είναι αυτοτελές.

Ήδη φορτωμένη σελίδα που παραμένει ορατή είναι ασθενέστερη απόδειξη από νέα πλοήγηση χωρίς εξωτερική πρόσβαση. Εξέτασε fonts, images, scripts και dynamic fetches. Αποτυχία εξωτερικού font δεν πρέπει να κρύβει κείμενο και optional statistics request δεν πρέπει να εμποδίζει τον reader.

Αν προστεθεί service worker, όρισε cache versioning και recovery πριν ενεργοποιηθεί. Παλιό HTML shell με ασύμβατα νέα δεδομένα μπορεί να χαλάσει navigation παρότι υπάρχουν όλα τα αρχεία. Κράτησε preference storage χωριστά από content caching. Περιορισμοί localStorage σε private/incognito περιβάλλον δεν πρέπει να σταματούν το βασικό rendering.