Δυναμική ιστοσελίδα

[thumb|right|600px|Δυναμική ιστοσελίδα: παράδειγμα δημιουργίας δυναμικής ιστοσελίδας στον εξυπηρετητή. Η σελίδα login.php περιέχει σενάριο εντολών PHP το οποίο εκτελείται από τον [Διερμηνέας (υπολογιστές)|διερμηνέα PHP στον εξυπηρετητή και χρησιμοποιώντας στοιχεία από την βάση MySQL αποστέλνεται πίσω η δυναμική σελίδα HTML.]]
**Δυναμική ιστοσελίδα** (Αγγλικά: dynamic web page) είναι μια ιστοσελίδα η οποία δημιουργείται δυναμικά την στιγμή της πρόσβασης σε αυτή ή την στιγμή που ο χρήστης αλληλεπιδρά με τον εξυπηρετητή ιστοσελίδων. Οι δυναμικές ιστοσελίδες θεωρούνται δομικό στοιχείο της νέας γενιάς του παγκόσμιου ιστού (Web 2.0) όπου η πληροφορία διαμοιράζεται σε πολλαπλές ιστοσελίδες. 

Η δυναμική ιστοσελίδα μπορεί να δημιουργείται δυναμικά από ένα σενάριο εντολών, το οποίο εκτελείται τοπικά στο πελάτη ή στον εξυπηρετητή ή και στον πελάτη και στον εξυπηρετητή.

## Ιστορία
Είναι δύσκολο να πει κάποιος με ακρίβεια πότε οι "δυναμικές ιστοσελίδες" ξεκίνησαν αλλά η γενικότερη ιδέα ξεκίνησε μετά την εξάπλωση και ανάπτυξη των ιστοσελίδων. Το πρωτόκολλο HTTP άρχισε να χρησιμοποιείται από το 1990 και η γλώσσα HTML ξεκίνησε να χρησιμοποιείται για τον σχεδιασμό ιστοσελίδων από το 1996. Η εξάπλωση χρήσης των φυλλομετρητών ξεκίνησε το 1993 με τον φυλλομετρητή Mosaic. Η ιδέα της δημιουργίας δυναμικών ιστοσελίδων υπήρχε και πριν την ανάπτυξη των ιστοσελίδων. Για παράδειγμα πριν το 1990 υπήρχαν "Βάσεις Δεδομένων" (Bulletin Board Systems) στα οποία οι χρήστες συνδέονταν μέσω μόντεμ και το περιεχόμενο που έβλεπαν δημιουργούνταν δυναμικά.

## Δυναμική ιστοσελίδα τοπικά στο πελάτη

Η σελίδα συνήθως περιέχει ένα σενάριο εντολών το οποίο ενσωματώνει μια διαδραστικότητα με τον χρήστη (η διαδραστικότητα γίνεται με χρήση πληκτρολογίου - ποντικιού). Το περιεχόμενο της ιστοσελίδας δημιουργείται δυναμικά στον τοπικό υπολογιστή μετά την εκτέλεση του σεναρίου εντολών το οποίο λαμβάνεται από τον απομακρυσμένο εξυπηρετητή.

Για παράδειγμα η γλώσσα σεναρίου εντολών JavaScript ή ActionScript (γλώσσα σεναρίων της Macromedia - σήμερα είναι η εταιρία Adobe Systems) χρησιμοποιείται για την τοπική δημιουργία δυναμικών ιστοσελίδων τεχνολογίας DHTML ή Flash οι οποίες συχνά χρησιμοποιούνται για την ενσωμάτωση ήχων, κινούμενων εικόνων ή αλλαγές και διαμόρφωση του κείμενου της σελίδας. Η γλώσσα σεναρίου η οποία εκτελείται τοπικά μπορεί να καλεί απομακρυσμένα σενάρια εντολών στον εξυπηρετητή ιστοσελίδων χρησιμοποιώντας τεχνολογίες όπως hidden Frame, XMLHttpRequest ή άλλες υπηρεσίες ιστού (web services).

Η πρώτη "ευρέως διαδεδομένη" έκδοση της γλώσσας σεναρίου εντολών JavaScript ενσωματώθηκε το 1996 στο φυλλομετρητή Netscape 3.

## Δυναμική ιστοσελίδα στον εξυπηρετητή

Μια δυναμική ιστοσελίδα συνήθως δημιουργείται από ένα λογισμικό το οποίο τρέχει στον απομακρυσμένο εξυπηρετητή ιστοσελίδων. Ο χρήστης-πελάτης επισκέπτεται τον εξυπηρετητή ιστοσελίδων ο οποίος δημιουργεί δυναμικά την ιστοσελίδα την οποία επιστρέφει σε μορφή HTML στον πελάτη. Τέτοιες τεχνολογίες για την δημιουργία δυναμικών ιστοσελίδων στον εξυπηρετητή είναι η τεχνολογίες ASP, ColdFusion, Perl, PHP, WebDNA και άλλες. Οι γλώσσες αυτές συνήθως (με εξαίρεση την ASP.NET και την JSP) χρησιμοποιούν ένα σενάριο εντολών CGI κατά την δυναμική δημιουργία των σελίδων. 

Πολλές φορές οι σελίδες είναι αποθηκευμένες στατικά σε κρυφή-προσωρινή μνήμη και αποστέλλονται κατευθείαν στο πελάτη. Με αυτό το τρόπο αποφεύγεται η υπερφόρτωση του εξυπηρετητή ιστοσελίδων και καλείται η μηχανή δημιουργία δυναμικών ιστοσελίδων μόνο όταν το αποθηκευμένο περιεχόμενο έχει αλλάξει.

## Συνδυασμός δημιουργίας δυναμικής σελίδας στον πελάτη και στον εξυπηρετητή
Η τεχνολογία AJAX χρησιμοποιεί σενάρια εντολών και στον πελάτη και στον απομακρυσμένο εξυπηρετητή για την δημιουργία της δυναμικής ιστοσελίδας. Στην τεχνολογία AJAX γίνεται ανταλλαγή περιεχομένου και δεδομένων από τον υπολογιστή του πελάτη και του απομακρυσμένου εξυπηρετητή και η σελίδα διαμορφώνεται από το σενάριο εντολών το οποίο τρέχει τοπικά στο πελάτη. Το πλεονέκτημα της τεχνολογίας αυτής είναι ότι περιορίζεται η χρήση του εξυπηρετητή ιστοσελίδων και αποστέλλεται μόνο το περιεχόμενο.  Για παράδειγμα οι χάρτες της Google είναι ένα παράδειγμα δικτυακής εφαρμογής η οποία χρησιμοποιεί την τεχνολογίας AJAX. 

## Δείτε επίσης
* CGI
* Ιστοσελίδα
* Στατική ιστοσελίδα
* Κατασκευή ιστοσελίδων
* Υπερκείμενο
* HTML

## Παραπομπές
* "The Information Revolution", J. R. Okin. ISBN 0976385740. Ed. Ironbound Press, 2005. 350 pp.
* "Learning VBScript", P. Lomax. ISBN 1565922476. Ed. O'Reilly, 1997. sec. C13.


Κατηγορία:Διαδίκτυο