Ερώτηση για ανανέωση σελίδα

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
goku_1607
Δημοσιεύσεις: 49
Εγγραφή: 24 Σεπ 2009 16:35

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από goku_1607 » 21 Ιουν 2010 14:31

Καλησπέρα παιδιά,
θέλω να σας ρωτήσω ένα πράγμα...
Κάνω αλλαγές στη σελίδα, για παράδειγμα αλλάζω ένα βίντεο του αφήνω όμως τον ίδιο τίτλο
και εαν δεν σβήσω το ιστορικό στη σελίδα μου, τότε δε φαίνεται η αλλαγή στη σελίδα...
Το ίδιο μου συμβαίνει και με κάποιες εικόνες...
Θα ήθελα να ρωτήσω πώς μπορώ να λύσω αυτό το πρόβλημα γιατί κάποιος που μπορεί να μπήκε στη σελίδα πρίν από μία μέρα, πολύ πιθανόν να μήν βλέπει την αλλαγή που έκανα :evil:

Άβαταρ μέλους
hitca
Honorary Member
Δημοσιεύσεις: 1919
Εγγραφή: 13 Ιουν 2010 19:41
Τοποθεσία: Brussels
Επικοινωνία:

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από hitca » 21 Ιουν 2010 19:51

goku_1607 έγραψε:
και εαν δεν σβήσω το ιστορικό στη σελίδα μου, τότε δε φαίνεται η αλλαγή στη σελίδα...
Το ίδιο μου συμβαίνει και με κάποιες εικόνες...
γιατί να διαγράψεις το ιστορικό..? (και μάλιστα υποχρεωτικά...)
ανανέωση η σελίδα χρειάζεται (με F5 ή reload page), ώστε να 'φορτώσει' το νέο περιεχόμενο. Το link είναι σωστό?
(μην ξεχνάς ότι όλοι οι browsers χρησιμοποιούν προσωρινή μνήμη)

Ίσως πρέπει να δοκιμάσεις και εναλλακτικές λύσεις, δοκίμασε και με άλλον browser ή και από άλλον Η/Υ να δείς πως φαίνεται το περιεχόμενό σου.
Ίσως πάλι κάποιο πρόσθετο του browser να δημιουργεί τέτοιο θέμα.

goku_1607
Δημοσιεύσεις: 49
Εγγραφή: 24 Σεπ 2009 16:35

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από goku_1607 » 22 Ιουν 2010 18:00

hitca έγραψε:
goku_1607 έγραψε:
και εαν δεν σβήσω το ιστορικό στη σελίδα μου, τότε δε φαίνεται η αλλαγή στη σελίδα...
Το ίδιο μου συμβαίνει και με κάποιες εικόνες...
γιατί να διαγράψεις το ιστορικό..? (και μάλιστα υποχρεωτικά...)
ανανέωση η σελίδα χρειάζεται (με F5 ή reload page), ώστε να 'φορτώσει' το νέο περιεχόμενο. Το link είναι σωστό?
(μην ξεχνάς ότι όλοι οι browsers χρησιμοποιούν προσωρινή μνήμη)

Ίσως πρέπει να δοκιμάσεις και εναλλακτικές λύσεις, δοκίμασε και με άλλον browser ή και από άλλον Η/Υ να δείς πως φαίνεται το περιεχόμενό σου.
Ίσως πάλι κάποιο πρόσθετο του browser να δημιουργεί τέτοιο θέμα.

Βασικά είναι πράγματι πολύ περίεργο....
Ξέρω τι λές αλλά δεν λειτουργεί...
Για να καταλάβεις ακριβώς τι εννοώ, μπαίνω στο Control Panel του Server και για παράδειγμα σβήνω ένα flash video και στη θέση του βάζω ένα άλλο με το ίδιο όνομα για να μην αλλάζω τον κώδικα...
Οπότε αυτό που γίνεται είναι:

-Οι browsers που έχουν χρησιμοποιηθεί και πιο πρίν για να εμφανίσουν τη σελίδα, να μήν έχουν καμία αλλαγή, ενώ αυτοί που χρησιμοποιούνται για πρώτοι φορά δείχνουν το σωστό video.
-Με ανανέωση στο browser δεν μπορώ να πετύχω την αλλαγή...
-Ενώ αν κάνω διαγραφή το ιστορικό, τότε φαίνονται όλα μια χαρά!

Το φαινόμενο αυτό παρατηρείται σε όλους τους Browsers που έχω δοκιμάσει και δεν ξέρω αν τελικά είναι κάτι που έχει ίσως να κάνει με τον Server...

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από nbc » 22 Ιουν 2010 18:38

Δεν είναι περίεργη αυτή η συμπεριφορά. Οφείλεται στο λεγόμενο cache-control τόσο του web server όσο και του browser. Έτσι λειτουργεί το web.

Την cache του browser μπορείς να την παρακάμψεις με manual refresh. Για παράδειγμα, στον FF είναι Ctrl-F5. Πρόσεξε, άλλο πράγμα το Reload (Ctrl-R ή F5) και άλλο το Refresh (Ctrl-F5). Η διαφορά τους είναι αυτό που εσύ κάνεις καθαρίζοντας το ιστορικό.

Την cache του server την ελέγχεις με διάφορους τρόπους. Ο ένας είναι να χειρίζεσαι τα requests με δικό σου script. Ο άλλος είναι μέσω των configuration directives του εκάστοτε server.

Και τις 2 cache τις επηρεάζεις με αλλαγή του url. Δεν είναι απαραίτητο να αλλάξει το filename. Μπορεί να προστεθεί ένα query string, πχ http://www.example.com/video.mpg?123

Οτιδήποτε αλλάξει μετά το ?, η cache παύει να ισχύει και στα δύο άκρα (server και browser).

goku_1607
Δημοσιεύσεις: 49
Εγγραφή: 24 Σεπ 2009 16:35

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από goku_1607 » 22 Ιουν 2010 18:56

Ευχαριστώ nbc..!! Να σαι καλά!!

GeorgeMak
Δημοσιεύσεις: 23
Εγγραφή: 10 Ιουν 2010 20:26

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από GeorgeMak » 23 Ιουν 2010 03:11

Η πιο σωστή λύση για αυτό που σου συμβαίνει είναι το versioning των resources. Δηλαδή το css file δεν έχει όνομα style.css αλλά style_1.0.0.css και αντίστοιχα flash_1.0.0.swf αντί flash.swf. Έτσι όταν αλλάζεις τον κώδικα της σελίδας σου ο browser θα κατεβάσει ΠΑΝΤΑ το σωστό content: style_1.0.0.css style_1.0.1.css style_1.0.2.css κλπ, δηλαδή με ctrl+f5 δεν ξεμπερδεύεις γιατί αυτό είναι μόνο για εσένα που ξέρεις πως άλλαξε το content.

Επίσης ο browser δεν κατεβάζει όλο το content σε κάθε επίσκεψη αλλά έχει κάποιους μηχανισμούς για να ελέγχει αν έχει αλλάξει για να το φέρει από το server. Αν δεν έχει αλλάξει μπορεί να το επαναφέρει από το δίσκο σου αλλά μπορεί να το πάρει και από 3ους ενδιάμεσους servers, σε περίπτωση που έχουν κάνει cache τη σελίδα σου. Επειδή θα σε μπερδέψω σίγουρα αν συνεχίσω just google: cache control content expire για να δεις πως δουλεύει το caching και πολλές εναλλακτικές μεθόδους να το υλοποιήσεις. Σε κάθε περίπτωση ΚΑΝΕ VERSIONING.

goku_1607
Δημοσιεύσεις: 49
Εγγραφή: 24 Σεπ 2009 16:35

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από goku_1607 » 23 Ιουν 2010 19:58

GeorgeMak έγραψε:Η πιο σωστή λύση για αυτό που σου συμβαίνει είναι το versioning των resources. Δηλαδή το css file δεν έχει όνομα style.css αλλά style_1.0.0.css και αντίστοιχα flash_1.0.0.swf αντί flash.swf. Έτσι όταν αλλάζεις τον κώδικα της σελίδας σου ο browser θα κατεβάσει ΠΑΝΤΑ το σωστό content: style_1.0.0.css style_1.0.1.css style_1.0.2.css κλπ, δηλαδή με ctrl+f5 δεν ξεμπερδεύεις γιατί αυτό είναι μόνο για εσένα που ξέρεις πως άλλαξε το content.

Επίσης ο browser δεν κατεβάζει όλο το content σε κάθε επίσκεψη αλλά έχει κάποιους μηχανισμούς για να ελέγχει αν έχει αλλάξει για να το φέρει από το server. Αν δεν έχει αλλάξει μπορεί να το επαναφέρει από το δίσκο σου αλλά μπορεί να το πάρει και από 3ους ενδιάμεσους servers, σε περίπτωση που έχουν κάνει cache τη σελίδα σου. Επειδή θα σε μπερδέψω σίγουρα αν συνεχίσω just google: cache control content expire για να δεις πως δουλεύει το caching και πολλές εναλλακτικές μεθόδους να το υλοποιήσεις. Σε κάθε περίπτωση ΚΑΝΕ VERSIONING.
Πάνω - Κάτω καταλαβαίνω τι λες. Να αποθηκεύω πχ ένα αρχείο με την μορφή : flash_1.0.0 και αν χρειαστεί να αποθηκεύσω καινούριο, τότε να του δώσω όνομα flash_1.0.1.
Αυτό δεν εννοείς; Από κώδικα δεν πειράζω τίποτα;;

GeorgeMak
Δημοσιεύσεις: 23
Εγγραφή: 10 Ιουν 2010 20:26

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από GeorgeMak » 23 Ιουν 2010 21:57

Ακριβώς αυτό, το μόνο που θα αλλάζεις μετά θα είναι στη σελίδα που το φορτώνεις το όνομα και θα κατεβάζει πάντα την τελευταία. Στην ουσία δεν έχει διαφορά με αυτό που σου λέει ο nbc, απλά είναι πιο σωστός τρόπος.

goku_1607
Δημοσιεύσεις: 49
Εγγραφή: 24 Σεπ 2009 16:35

Ερώτηση για ανανέωση σελίδα

Δημοσίευση από goku_1607 » 23 Ιουν 2010 22:27

Thanks φίλε... Να σαι καλά και εσύ και ο nbc...

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης