ΠΩΣ ΛΕΙΤΟΥΡΓΕΙ ΤΟ WWW (World Wide Web)

Οταν οι άνθρωποι σήμερα χρησιμοποιούν τη λέξη Internet στην ουσία αναφέρονται στον World Wide Web (παγκόσμιο ιστό). Ο Web είναι το πιο ενδιαφέρον, το πιο πρωτοποριακό και το ταχύτερα αναπτυσσόμενο τμήμα του Internet. Η εκρηκτική ανάπτυξη του Web τα τελευταία χρόνια, έχει προκαλέσει σε μεγάλο βαθμό το έντονο ενδιαφέρον του κόσμου για το Internet. Οταν οι άνθρωποι αναφέρονται στον όρο surfing στο Internet, συνήθως μιλούν για τον World Wide Web.

Στην ενότητα αυτή θα παρουσιάσουμε με αρκετή λεπτομέρεια τον τρόπο λειτουργίας του World Wide Web, ξεκινώντας από τις βασικές τεχνολογίες όπως τον τρόπο λειτουργίας των Web σελίδων και φτάνοντας έως πιο εξελιγμένα χαρακτηριστικά καθώς και τον τρόπο με τον οποίο ο Web ολοκληρώνεται ολοένα και περισσότερο με τον υπολογιστή σας. Θα δούμε από τι αποτελείται ο Web, τον τρόπο λειτουργίας του Web browser και εξετάσουμε εμπεριστατωμένα τα URLs καθώς και πολλά άλλα θέματα που αφορούν στον Web και τους Web browsers.

Ο World Wide Web αποτελεί το ταχύτερα αναπτυσσόμενο και εν πολλοίς το πιο συναρπαστικό και ενδιαφέρον τμήμα του Internet. Οταν οι χρήστες αναφέρονται στον όρο surfing στο Δίκτυο, σχεδόν πάντα αναφέρονται στη χρήση του World Wide Web.
Οπως υποδηλώνει και το όνομά του, ο World Wide Web αποτελεί ένα παγκόσμια συνδεδεμένο δίκτυο. Ο Web περιλαμβάνει πολλά στοιχεία, αλλά αυτό που τον κάνει εξαιρετικά ενδιαφέροντα σε πολλούς χρήστες είναι οι Web σελίδες που περιλαμβάνουν κείμενο, γραφικά, ήχο, animation και άλλα multimedia χαρακτηριστικά. Κατ' ουσίαν κάθε σελίδα αποτελεί μία multimedia αλληλεπιδραστική έκδοση η οποία μπορεί να περιλαμβάνει video, μουσική, γραφικά και κείμενο.

Οι σελίδες είναι συνδεδεμένες μεταξύ τους χρησιμοποιώντας hypertext (υπερκείμενο) το οποίο σας επιτρέπει να μετακινηθείτε από μια σελίδα σε οποιαδήποτε άλλη καθώς και σε γραφικά, δυαδικά αρχεία, multimedia αρχεία καθώς και κάθε άλλο πόρο του Internet. Για να μεταπηδήσετε από μία σελίδα στην άλλη θα πρέπει να κάνετε κλικ σε ένα link.
Ο Web υιοθετεί το μοντέλο client/server. Στον υπολογιστή σας τρέχετε το λογισμικό Web client το οποίο είναι ουσιαστικά κάποιος browser όπως ο Internet Explorer ή ο Netscape Navigator. Ο εν λόγω client έρχεται σε επαφή με έναν Web server και ζητά πληροφορίες ή πόρους. Ο Web server εντοπίζει και στέλνει τις πληροφορίες στον Web browser, ο οποίος παρουσιάζει τα αποτελέσματα.
Οι σελίδες του Web έχουν δημιουργηθεί με τη χρήση μιας γλώσσας ονόματι HTML (Hypertext Markup Language). Η γλώσσα περιέχει εντολές οι οποίες δηλώνουν στον browser πώς να παρουσιάσει το κείμενο, τα γραφικά και τα multimedia αρχεία. Παράλληλα περιέχει εντολές για τη σύνδεση της σελίδας με άλλες σελίδες και με άλλους πόρους του Internet.
Ο όρος "home page" συνήθως αναφέρεται στην πρώτη ή κεντρική σελίδα της συλλογής σελίδων που αποτελούν ένα Web site. Η home page λειτουργεί όπως το εξώφυλλο ενός περιοδικού ή η κεντρική σελίδα μιας εφημερίδας. Συνήθως, περιέχει μία εισαγωγή στο site, εξηγώντας τον σκοπό της ύπαρξής του και περιγράφοντας τις πληροφορίες που βρίσκονται στις υπόλοιπες σελίδες του site. Αρκετά συχνά η home page περιέχει τον πίνακα των περιεχομένων του υπόλοιπου site.

Γενικά τα Web sites χρησιμοποιούν τρία είδη οργανωτικών δομών για την οργάνωση των σελίδων τους. Σε μία δενδροειδή δομή, μία πυραμίδα διευκολύνει τους χρήστες να πλοηγηθούν στο site και να βρουν την πληροφορία που θέλουν. Σε μία γραμμική δομή μία σελίδα οδηγεί στην επόμενή της κ.ο.κ. σαν να βρίσκονται σε μία ευθεία γραμμή. Τέλος, σε μία τυχαία δομή, οι σελίδες είναι συνδεδεμένες μεταξύ τους κατά φαινομενικά τυχαίο τρόπο.
Οπως τα περισσότερα τμήματα του Internet έτσι και ο World Wide Web υιοθετεί το μοντέλο client/server. Στον υπολογιστή σας τρέχετε έναν Web client - που ονομάζεται Web browser - όπως τον Netscape Communicator ή τον Microsoft Internet Explorer. Ο εν λόγω client έρχεται σε επαφή με έναν Web server και ζητά πληροφορίες ή πόρους. Εν συνεχεία ο Web server εντοπίζει και στέλνει τις πληροφορίες στον Web browser ο οποίος παρουσιάζει τα αποτελέσματα.
Οταν οι Web browsers έρχονται σε επαφή με τους servers ζητούν την παρουσίαση σελίδων οι οποίες έχουν δημιουργηθεί με την γλώσσα HTML. Εν συνεχεία τις μεταφράζουν και τις παρουσιάζουν στο υπολογιστή σας. Μπορούν επίσης να παρουσιάσουν εφαρμογές, προγράμματα, animations και υλικό που έχει δημιουργηθεί από τις γλώσσες προγραμματισμού Java και ActiveX και γλώσσες scripting όπως η JavaScript.

Μερικές φορές οι home pages περιέχουν links σε αρχεία τα οποία ο Web browser δεν μπορεί να παίξει ή να προβάλλει όπως αρχεία ήχου ή animation. Σε αυτήν την περίπτωση θα χρειαστείτε μία βοηθητική εφαρμογή ή ένα plug-in. Εν συνεχεία θα πρέπει να δηλώσετε στον Web browser να χρησιμοποιεί την εν λόγω εφαρμογή ή plug-in όταν συναντά έναν ήχο ή ένα αρχείο animation που δεν μπορεί να τρέξει ή να παίξει ο browser.

Με την πάροδο των ετών οι browsers έχουν γίνει ιδιαίτερα πολύπλοκοι. Οι σύγχρονοι browsers αποτελούν πλέον ολοκληρωμένες σουίτες λογισμικού οι οποίοι μπορούν να κάνουν σχεδόν τα πάντα: από βιντεοδιασκέψεις έως τη δημιουργία και έκδοση Web σελίδων. Επίσης έχουν πλέον θολώσει τη διαχωριστική γραμμή μεταξύ του τοπικού υπολογιστή και του Internet αφού έχουν καταφέρει να κάνουν τον υπολογιστή και το Internet να λειτουργούν σαν ένα ενιαίο υπολογιστικό σύστημα.
Προς αυτή την κατεύθυνση κινήθηκε με μεγάλη ένταση η Microsoft η οποία ολοκλήρωσε τη διαδικασία του Web browsing και του Internet στο λειτουργικό της σύστημα. Για παράδειγμα από την έκδοση του Internet Explorer 4.0 και έπειτα και με τα Windows 98 το desktop των Windows μπορεί να βασίζεται στην HTML. Αυτό σημαίνει ότι τα Web links μπορούν να ενσωματωθούν απευθείας στο desktop. Ετσι, για παράδειγμα, μπορείτε να έχετε links για τα αγαπημένα Web sites σας πάνω στο desktop. Επίσης, εφαρμογές όπως οι επεξεργαστές κειμένου ενσωματώνουν Web δυνατότητες όπως η πλοήγηση στο Web ή η κατασκευή home pages. Σημαντικότερο όλων η χρήση της τεχνολογίας Active Desktop της Microsoft επιτρέπει την τοποθέτηση στο desktop συστατικών τα οποία βασίζονται στο Internet. Τα συστατικά αυτά μπορεί να αφορούν για παράδειγμα τιμές μετοχών μεταφέροντας απευθείας "ζωντανό" περιεχόμενο του Web στο desktop. Μ' αυτόν τον τρόπο δεν χρειάζεται να τρέξετε τον browser για να πάρετε τις πληροφορίες αφού παραλαμβάνονται αυτόματα στο Windows desktop χωρίς να κάνετε απολύτως τίποτα.

Οι εταιρίες που πρωταγωνιστούν στην αγορά των browsers είναι οι Microsoft και Netscape οι οποίες έχουν αναπτύξει ολοκληρωμένες σουίτες λογισμικού για τους browsers τους. H Netscape για παράδειγμα στην σουίτα της Communicator περιλαμβάνει modules για την ανάγνωση newsgroups, την ανάγνωση, αποστολή και διαχείριση των e-mails, για ηχητικές διασκέψεις, για συνεργασία με άλλους χρήστες κ.ά. Τα χαρακτηριστικά αυτά θα βοηθήσουν τους χρήστες να εισέλθουν στην εποχή του συνεργατικού computing. Το Internet δεν θα χρησιμοποιείται μόνο για την αποστολή και τη λήψη πληροφοριών αλλά θα αλλάξει τον τρόπο εργασίας και θα μας βοηθήσει να επικοινωνούμε πιο αποτελεσματικά.

Οι markup γλώσσες αποτελούν ένα είδος οδικών σημάτων μιας Web σελίδας. Πρόκειται ουσιαστικά για ομάδες κατευθύνσεων οι οποίες δηλώνουν στον browser πώς να παρουσιάσει και να διαχειριστεί ένα έγγραφο του Web, ακριβώς όπως οι νότες και οδηγίες εξηγούν σε έναν μουσικό πώς να παίξει κάποιο μουσικό κομμάτι. Οι εν λόγω οδηγίες (αποκαλούνται συνήθως tags ή markups) είναι ενσωματωμένες στο πηγαίο έγγραφο που δημιουργεί την Web σελίδα. Τα tags μπορεί να αναφέρονται και σε εικόνες γραφικών που βρίσκονται σε ξεχωριστά αρχεία και καθοδηγούν τον browser πώς να τα ανακαλέσει και να παρουσιάσει στην σελίδα. Τα tags δηλώνουν επίσης στον browser να συνδέσει το χρήστη σε κάποιο άλλο αρχείο ή URL όταν κάνει κλικ σε έναν ενεργό υπερσύνδεσμο. Κατ' αυτόν τον τρόπο κάθε Web σελίδα περιέχει οτιδήποτε χρειάζεται για να παρουσιαστεί σε οποιονδήποτε υπολογιστή εξοπλισμένο με έναν browser που μπορεί να μεταφράσει την γλώσσα markup.

Το αρχικό σας κείμενο μπορεί πιθανώς να έχει τίτλους, πολλαπλές παραγράφους και κάποια απλή μορφοποίηση. Ενας Web browser δεν μπορεί να κατανοήσει όλες αυτές τις εντολές του layout επειδή το αρχικό κείμενο δεν είναι μορφοποιημένο με την HTML, που αποτελεί τη γλώσσα του Web. Οι παράγραφοι, οι χαρακτήρες επιστροφής, οι εσοχές και τα πολλαπλά κενά θα παρουσιάζονται ως απλά κενά αν δεν προστεθούν τα σύμβολα της γλώσσας HTML.

Δεν θα πρέπει να υπάρχει σύγχυση μεταξύ των markup γλωσσών και των γλωσσών προγραμματισμού όπως οι C++ ή η Pascal. Οι γλώσσες προγραμματισμού χρησιμοποιούνται για την ανάπτυξη σύνθετων εφαρμογών όπως επεξεργαστές κειμένου ή spreadsheets. Αντιθέτως, οι γλώσσες markup είναι πολύ απλούστερες και περιγράφουν τον τρόπο με τον οποίο πρέπει να παρουσιαστεί η πληροφορία. Στις γλώσσες markup, τα tags εμπεριέχονται στα έγγραφα για να περιγράψουν τον τρόπο μορφοποίησης και παρουσίασής τους.

Η HTML (Hypertext Markup Language) αποτελεί την markup γλώσσα του Web. Καθορίζει τη μορφή ενός Web εγγράφου και επιτρέπει την ενσωμάτωση σε έγγραφα των υπερσυνδέσμων. Για να εισάγετε τα HTML tags σε ένα έγγραφο ASCII μπορείτε να χρησιμοποιήσετε οποιονδήποτε επεξεργαστή κειμένου αν και υπάρχει ένας σημαντικός αριθμός shareware και εμπορικά διαθέσιμων προγραμμάτων για την συγγραφή Web σελίδων.
Ο Web αναπτύσσεται καθημερινά και μαζί του αναπτύσσεται και αλλάζει και η HTML. Οι νεώτερες αλλαγές στην HTML είναι μία ομάδα τεχνολογιών οι οποίες ονομάζονται Dynamic HTML ή DHTML. Οι εν λόγω τεχνολογίες επιτρέπουν στην HTML να μην είναι πλέον μια στατική γλώσσα αλλά να είναι περισσότερο αλληλεπιδραστική και ευέλικτη.

Στα τέλη της δεκαετίας του 1960, ένας επιστήμονας, ονόματι Ted Nelson, παρουσίασε το hypertext, μία ιδέα στην οποία στηρίχτηκε η θεμελίωση του World Wide Web και οι συνδέσεις του μεταξύ εγγράφων ή σελίδων.
Ο Nelson ήθελε να δημιουργήσει ένα νέο τρόπο εξερεύνησης πληροφοριών. Ηθελε να προσφέρει στον χρήστη έναν αυτοματοποιημένο τρόπο προσπέλασης πληροφοριών σε βάθος σχετικά με κάτι που προκάλεσε το ενδιαφέρον του αναγνώστη όταν διαβάζει το κείμενο σε μια σελίδα. Αντί να διαβάζει ένα κείμενο από την αρχή ως το τέλος τοποθετώντας το υλικό σε μία γραμμική διάταξη, ο αναγνώστης θα μπορούσε να επιλέξει μία λέξη και να λάβει περισσότερες πληροφορίες για την έννοιά της, για παράδειγμα.

Ο Nelson οραματίστηκε έναν τρόπο με τον οποίο κάποιος ενώ διαβάζει το Σύνταγμα των Ηνωμένων Πολιτειών και συναντήσει τον όρο "σώμα εκλεκτόρων" να μπορεί να ανοίγει κάποιο άλλο έγγραφο το οποίο να εξηγεί πώς λειτουργεί το εν λόγω σώμα. Από αυτό το έγγραφο, μπορεί να ανοίξει άλλο έγγραφο το οποίο να περιέχει τις ψήφους του σώματος από την ίδρυσή του ως σήμερα και εν συνεχεία να βρει ακόμη λεπτομερέστερες πληροφορίες. Τελικώς, θα μπορεί να καταλήξει σ' ένα θέμα το οποίο βρίσκει ενδιαφέρον ή διασκεδαστικό αλλά δεν συνδέεται καν με το Σύνταγμα.

Η ιδέα του hypertext υπήρχε προφανώς στο μυαλό του Tim Berners-Lee όταν ξεκίνησε να σκέφτεται τον τρόπο με τον οποίο οι ερευνητές θα μπορούσαν να μοιράζονται την εργασία τους μέσω του Internet. Ο Berners-Lee οραματίστηκε ένα σύστημα στο οποίο ένα έγγραφο θα μπορούσε να συνδεθεί με άλλα έγγραφα επιτρέποντας στους ερευνητές να βρίσκουν εύκολα περισσότερες σχετιζόμενες πληροφορίες ακολουθώντας ένα link από ένα έγγραφο του δικτύου σε άλλο.
Τυπικά, το hypertext αποτελείται από ένα hyperlink το οποίο εμφανίζεται στην οθόνη σαν μια υπερφωτισμένη λέξη, εικονίδιο ή γραφικό. Μετακινώντας το δείκτη του ποντικιού πάνω από ένα στοιχείο ή αντικείμενο και κάνοντας κλικ πάνω του μπορείτε να μεταβείτε στην επιπρόσθετη πληροφορία. Στον Web αυτή η πληροφορία μπορεί να βρίσκεται στον ίδιο host server ή σε οποιοδήποτε σημείο του κόσμου. Ενα συνδεδεμένο αντικείμενο μπορεί να έχει οποιαδήποτε μορφή όπως κείμενο (από έναν χαρακτήρα ως ένα ολόκληρο έγγραφο), ένα button (όπως τα βέλη διευθύνσεων τα οποία επιτρέπουν τη μετακίνηση από σελίδα σε σελίδα) ή ακίνητες εικόνες (φωτογραφίες, εικονίδια, κόμικ) κ.ά. Τα έγγραφα και τα αντικείμενα που συνδέονται μεταξύ τους μπορεί να είναι στο ίδιο ή σε εντελώς διαφορετικά έγγραφα.

Τα hypertext links ενσωματώνονται σε ένα Web έγγραφο με τη χρήση της HTML. Ενας σύνδεσμος κειμένου συνήθως εμφανίζεται στην οθόνη σαν μία υπογραμμισμένη λέξη ή φράση και μερικές φορές έχει διαφορετικό χρώμα από το υπόλοιπο κείμενο, εξαρτάται από τον τρόπο με τον οποίο ο Web browser μεταφράζει τους HTML κώδικες. Οταν τοποθετήσετε το δείκτη του ποντικιού πάνω από το υπογραμμισμένο κείμενο και κάνετε κλικ πάνω του, στέλνετε ουσιαστικά μία αίτηση στον browser για την εμφάνιση μιας νέας Web σελίδας ή -στην περίπτωση που ο σύνδεσμος αντιστοιχεί σε πληροφορία που βρίσκεται στο ίδιο έγγραφο - για την μετακίνηση του εγγράφου στο καθορισμένο σημείο.
Εικόνες ή εικονίδια μπορούν επίσης να λειτουργήσουν ως υπερσύνδεσμοι. Οταν μετακινείτε το δείκτη του ποντικιού πάνω στο εικονίδιο ή το γραφικό και κάνετε κλικ, θέτετε μία αίτηση για την ανάκληση της συνδεδεμένης πληροφορίας.
Οι Web σελίδες και οι hosts που συνθέτουν τον World Wide Web πρέπει να έχουν μοναδικές διευθύνσεις ώστε ο υπολογιστής να μπορεί να εντοπίζει και να ανακαλεί τις σελίδες. Το μοναδικό χαρακτηριστικό ενός host είναι η IP (Internet Protocol) διεύθυνσή του ενώ το αντίστοιχο χαρακτηριστικό μία σελίδα είναι το URL (Uniform Resource Locator). Ενα URL λειτουργεί περισσότερο σαν μία ταχυδρομική διεύθυνση ή διεύθυνση ηλεκτρονικού ταχυδρομείου. Οπως ακριβώς οι προαναφερθείσες διευθύνσεις περιέχουν ένα όνομα και μία τοποθεσία έτσι και το URL ή η Web διεύθυνση δείχνει το σημείο στο οποίο είναι τοποθετημένος ο host υπολογιστής, τη θέση του Web site στον host, το όνομα της Web σελίδας και τον τύπο του αρχείου κάθε εγγράφου.

Ενα τυπικό URL είναι κάπως έτσι:
http://www.techlab.gr/news/news_list.htm

Αν θέλετε να μεταφράσετε τις εντολές του εν λόγω URL από αριστερά προς τα δεξιά θα μπορούσε να είναι κάπως έτσι: "πήγαινε στον host υπολογιστή που ονομάζεται Techlab, στο directory που ονομάζεται news και ανάκτησε το έγγραφο με όνομα news_list.htm". Το URL δηλώνει στον browser το έγγραφο που πρέπει να φέρει και που ακριβώς θα το βρει σε κάποιον καθορισμένο host υπολογιστή που βρίσκεται κάπου στο Internet.

Το πρώτο τμήμα του URL δείχνει τον τύπο του πρωτοκόλλου μεταφοράς που χρησιμοποιείται για την ανάκληση του καθορισμένου εγγράφου. Το πλέον συνηθισμένο πρωτόκολλο για έγγραφα hypertext είναι το HTTP (Hypertext Transfer Protocol).

Το δεύτερο τμήμα του URL αναφέρεται σε έναν καθορισμένο host υπολογιστή στον οποίο βρίσκεται το έγγραφο που θα αναζητήσει ο browser. Το συγκεκριμένο τμήμα της διεύθυνσης ονομάζεται επίσης domain name. Το τρίτο τμήμα του URL αντιστοιχεί στο directory του host υπολογιστή που περιέχει ένα καθορισμένο Web site ή πολλαπλά Web sites. Αυτό τοποθετείται αμέσως μετά την πρώτη μονή κάθετη γραμμή του URL και είναι ουσιαστικά ο υποκατάλογος του σκληρού δίσκου που φιλοξενεί το Web site. Στο σημείο αυτό της διεύθυνσης μπορεί να εμφανίζονται και υποκατάλογοι. Το τελευταίο τμήμα του URL είναι το όνομα του αρχείου. Αν δείτε μία διεύθυνση χωρίς filename εννοείται ότι το όνομα index.html περιλαμβάνει την σελίδα που έχει ζητηθεί. Το κείμενο που παραδίδει εξ' ορισμού ο Web server στον client όταν δεν παρουσιάζεται άλλο όνομα αρχείου είναι το index.html. Ορισμένα γραφικά που ονομάζονται imagemaps και κάποιες συναρτήσεις που ονομάζονται αλληλεπιδραστικές φόρμες (interactive forms) αποτελούν δύο από τις πλέον κοινές και χρήσιμες χρήσεις της HTML. Τα imagemaps αποτελούν στατικές εικόνες οι οποίες επιτρέπουν στο χρήστη να επιλέξει ορισμένα τμήματά τους κάνοντας κλικ πάνω τους. Οι αλληλεπιδραστικές φόρμες είναι σελίδες που βασίζονται στην HTML και σας επιτρέπουν να συμπληρώσετε πληροφορίες, όπως το όνομά σας, την ηλεκτρονική σας διεύθυνση και παρόμοιες πληροφορίες.

Τα imagemaps και οι αλληλεπιδραστικές φόρμες δημιουργούνται με τη χρήση του Common Gateway Interface (CGI) ένα επικοινωνιακό πρωτόκολλο που επιτρέπει την επικοινωνία ενός Web server με άλλες εφαρμογές. Τα imagemaps μπορεί να θεωρηθούν ως φανταχτερά hyperlinks. Ετσι αντί μία λέξη, ή ένα εικονίδιο ή μία εικόνα να είναι συνδεδεμένη με κάποια άλλη σελίδα, μία εικόνα η οποία είναι διαιρεμένη σε διαφορετικά τμήματα ή συντεταγμένες οι οποίες παραπέμπουν σε διαφορετικές HTML σελίδες. Συγκεκριμένα τα imagemaps συνδέονται σε άλλο έγγραφο μέσω μιας καθορισμένης περιοχής της εικόνας. Οταν κάνετε κλικ πάνω σ' αυτή την περιοχή, ενεργοποιείται ένα CGI script και ένα ειδικό αρχείο συντεταγμένων του imagemap το οποίο έχει την κατάληξη .map. Μία CGI εφαρμογή διαβάζει το αρχείο των συντεταγμένων και αντιστοιχεί τις συντεταγμένες του κλικ με κάποιο URL. Για παράδειγμα φανταστείτε έναν ηλεκτρονικό χάρτη των Ηνωμένων Πολιτειών στον οποίο κάνετε κλικ πάνω στην Washington, DC. Στον HTML κώδικα που αντιστοιχεί στη σελίδα ο ηλεκτρονικός χάρτης περιβάλλεται από ένα tag και ένα χαρακτηριστικό ονόματι ISMAP. Ο κώδικας θα μοιάζει κάπως έτσι:

<A HREF="some.server/maps/clickable.map>
<IMG SRC+"clickable.map" ISMAP>
</A>

Οι συντεταγμένες x και y του σημείου στο οποίο κάνετε κλικ στέλνονται στον server. Οι εν λόγω συντεταγμένες λαμβάνονται από τον server και δρομολογούνται προς μία CGI εφαρμογή, η οποία σαρώνει το αρχείο για να ταιριάξει τις συντεταγμένες και τότε προωθεί το σχετικό URL στον server. Τελικά, αν η Web σελίδα υπάρχει στον ίδιο server την στέλνει στον Web browser. Στην αντίθετη περίπτωση επιστρέφει το URL στον browser, ο οποίος με τη σειρά του στέλνει μία αίτηση στον σωστό server για την συγκεκριμένη σελίδα. Τότε, θα δείτε την σελίδα που αναφέρεται στην Washington D.C. να ξεκινά να φορτώνεται στον browser. Στο παρασκήνιο, ο server έχει περάσει μέσω του CGI τις συντεταγμένες του σημείου που επιλέξατε με το ποντίκι σε μία CGI εφαρμογή. Εν συνεχεία η εφαρμογή CGI αντιστοίχισε αυτές τις συντεταγμένες στο URL τους μέσω ενός αρχείου .map. Τελικά, το URL επέστρεψε το URL στον server, o οποίος κατεύθυνε τον client browser στη νέα Web σελίδα.

Οι φόρμες λειτουργούν με διαφορετικό τρόπο παρά το γεγονός ότι και αυτές χρησιμοποιούν το CGI. Οταν συμπληρώνετε τις πληροφορίες μιας φόρμας σε μία Web σελίδα, οι πληροφορίες πηγαίνουν στον server για επεξεργασία. Στη συνέχεια, ο server αποστέλλει τις πληροφορίες σε μία CGI εφαρμογή η οποία ονομάζεται από τη φόρμα "submit" (τα CGI scripts ενεργοποιούνται από τον server σε απάντηση μιας HTTP αίτησης από τον client. Τελικώς, μία CGI εφαρμογή μπορεί να στέλνει δεδομένα φόρμας σε ένα άλλο πρόγραμμα, όπως μία βάση δεδομένων, να το αποθηκεύσει σε ένα αρχείο ή να δημιουργήσει ένα μοναδικό HTML έγγραφο σε απάντηση της αίτησης ενός χρήστη.
Για τη διατήρηση και προώθηση των σελίδων, τα Web sites χρειάζονται έναν υπολογιστή host και λογισμικό σε επίπεδο server. Ο host διαχειρίζεται τα επικοινωνιακά πρωτόκολλα και φιλοξενεί τις σελίδες και σχετικό λογισμικό που απαιτείται για τη δημιουργία ενός Web site στο Internet. Συνήθως τα host συστήματα χρησιμοποιούν τα λειτουργικά συστήματα Unix, Windows NT ή MacOS τα οποία έχουν ενσωματωμένα τα πρωτόκολλα TCP/IP.

Το server λογισμικό βρίσκεται στον host και προωθεί τις σελίδες ανταποκρινόμενο στις αιτήσεις που στέλνονται από τον browser. Ο server δεν είναι υπεύθυνος για τις TCP/IP επικοινωνίες (αυτές τις αναλαμβάνει το λειτουργικό σύστημα του host) αλλά αντιθέτως είναι υπεύθυνος για τις HTTP αιτήσεις και επικοινωνίες με το λειτουργικό σύστημα του host.
Υπάρχουν διάφορα είδη server λογισμικού (servers βάσεων δεδομένων ή δικτύων για παράδειγμα) οι οποίοι εκτελούν διαφορετικούς τύπους υπηρεσιών για διαφόρους τύπους clients. Ειδικότερα, ένας Web server αποτελεί έναν HTTP server και η λειτουργία του είναι να στέλνει πληροφορίες στο client λογισμικό (συνήθως ένας browser) χρησιμοποιώντας το Hypertext Transfer Protocol.
Συνήθως, οι αιτήσεις του client browser έχουν σαν αποτέλεσμα την αποστολή ενός HTML εγγράφου από τον server. O server λαμβάνει την αίτηση και επιστρέφει την απάντησή του. Το πρώτο τμήμα της απάντησης περιλαμβάνει πληροφορίες μετάδοσης ενώ το υπόλοιπο περιλαμβάνει το αρχείο HTML.
Ενας Web server πάντως ασχολείται και με άλλες λειτουργίες πλην της αποστολής σελίδων. Για παράδειγμα στέλνει αιτήσεις για την εκτέλεση CGI (Common Gateway Interface) scripts σε CGI εφαρμογές. Τα εν λόγω scripts τρέχουν εξωτερικά προγραμματάκια όπως η αναζήτηση μιας βάσης δεδομένων ή η επεξεργασία των αλληλεπιδραστικών φορμών. Ο server στέλνει το script στην εφαρμογή μέσω CGI και επιστρέφει στον browser τα αποτελέσματα του script αν χρειάζεται. Επιπροσθέτως το server λογισμικό περιλαμβάνει διάφορα αρχεία και βοηθητικά προγράμματα για την ασφάλεια και τη διαχείριση του Web site.

Μία από τις πλέον χρήσιμες εφαρμογές του Web είναι η παρεχόμενη δυνατότητα που επιτρέπει σε ένα Web site να συνδέεται με μία βάση δεδομένων έτσι ώστε οι Web surfers να μπορούν να αναζητούν πληροφορίες. Ουσιαστικά η Web σελίδα αποτελεί την "πρόσοψη" των εφαρμογών βάσεων δεδομένων, επιτρέποντάς σας να επιλέξετε κριτήρια αναζήτησης και να εκτελέσετε πολύπλοκες αναζητήσεις μιας βάσης δεδομένων που υπάρχει στον host υπολογιστή.
Το γνωστότερο και πιο συχνά χρησιμοποιούμενο παράδειγμα σύνδεσης Web sites και βάσεων δεδομένων είναι το δημοφιλές Web site Yahoo!. To Yahoo! λειτουργεί σαν η "πρόσοψη" μιας μεγάλης βάσης δεδομένων που περιλαμβάνει περιγραφές Web site, στις οποίες μπορούν να πραγματοποιηθούν αναζητήσεις με βάση λέξεις-κλειδιά. Η σελίδα που σας υποδέχεται περιλαμβάνει ένα παράθυρο διαλόγου αναζήτησης στο οποίο μπορείτε να εισάγετε μία λέξη-κλειδί η οποία εκφράζει το αντικείμενο που αναζητάτε. Επιλέγοντας "Search" από την σελίδα στέλνετε μία αίτηση από τον browser στον Web server για να σας επιστρέψει έναν κατάλογο όλων των Web sites που περιλαμβάνουν τη λέξη-κλειδί.
Επιπροσθέτως δεν μπορούν μόνο να στέλνουν δεδομένα αλλά και να συλλέγουν επίσης. Για παράδειγμα, πολλά Web sites ζητούν από τους χρήστες να καταγράψουν τα ονόματά τους, τις διευθύνσεις τους και άλλες δημογραφικές πληροφορίες οι οποίες συλλέγονται και αποθηκεύονται σε μία βάση δεδομένων.

Αλλά πώς λειτουργούν όλα αυτά; Δεν χρειάζεται να έχετε μια τεράστια επιχείρηση ή μοναδικές προγραμματιστικές ικανότητες για να συνδέσετε το Web site σας σε μία βάση δεδομένων. Στην πραγματικότητα, η σύνδεση ενός Web site σε μία βάση δεδομένων μπορεί να είναι σχετικά απλή. Η βάση δεδομένων μπορεί να δεχτεί σχεδόν οποιαδήποτε φόρμα και μπορεί να είναι απλή όσο μία βάση δεδομένων FileMaker Pro ή σύνθετη όσο μία βάση δεδομένων Oracle SQL. Η "γέφυρα" που ενώνει Web sites και βάσεις δεδομένων είναι το Common Gateway Interface (CGI).
Από την client πλευρά μιας βάσης δεδομένων, βλέπετε μία Web σελίδα η οποία περιέχει μία φόρμα στην οποία μπορείτε να εισάγετε τα κριτήρια αναζήτησης. Εκτελώντας την αναζήτηση, ενεργοποιείτε ένα CGI script το οποίο στέλνει μία εντολή αναζήτησης στον Web server. Ετσι μία αναζήτηση στο site του Yahoo! για εταιρίες δημοσίων σχέσεων (public relations) είναι κάπως έτσι:
http://search.yahoo.com/bin/search?p=public+relations

Οταν ο Web server λαμβάνει αυτό το URL, το αναγνωρίζει σαν ένα "ερέθισμα" για ένα CGI script (το οποίο ονομάζεται "script" στο παράδειγμα) και το περνά μαζί με τα κριτήρια αναζήτησης ("public relations" στο παράδειγμα) στο πρόγραμμα που χρησιμοποιεί το CGI. Τότε το CGI script στέλνει την αναζήτηση στη βάση δεδομένων, λαμβάνει τα αποτελέσματα της ερώτησης μαζί με την HTML σελίδα που δημιουργήθηκε από την βάση δεδομένων για να περιλάβει τα αποτελέσματα και τα περνά στον Web server για να τα επιστρέψει στον client.
Πρόκειται ουσιαστικά για έναν σημαντικό αριθμό μεταφοράς αιτήσεων και δεδομένων αλλά τυπικά ακόμη και η αναζήτηση μιας μεγάλης βάσης δεδομένων είναι πολύ γρήγορη επειδή η πλειοψηφία των Unix και Windows NT βάσεων δεδομένων - οι οποίες είναι και οι πλέον συνηθισμένες - μπορεί να εκτελέσει αυτές τις εργασίες ταυτόχρονα. Ολα αυτά βέβαια συμβαίνουν στο παρασκήνιο και δεν χρειάζεται καθόλου να ασχοληθείτε με τις βάσεις δεδομένων ή τα scripts. Αντιθέτως, τα Web sites που επισκέπτεστε έχουν εύχρηστα interfaces τα οποία αναλαμβάνουν το έργο της αλληλεπίδρασης με τις βάσεις δεδομένων. Το μόνο που χρειάζεται να κάνετε είναι να πληκτρολογήσετε αυτό που αναζητάτε.

Το Internet δεν είναι πλέον ένα μέρος το οποίο μπορείτε να επισκεφθείτε με τον υπολογιστή σας και να δείτε έγγραφα ή να συλλέξετε πληροφορίες. Ολο και περισσότερο μετατρέπεται σε μία επέκταση του υπολογιστή σας. Μπορείτε πλέον να τρέξετε προγράμματα που υπάρχουν στο Internet και όχι στον υπολογιστή σας, καθώς και να χρησιμοποιήσετε εργαλεία τα οποία επιτρέπουν την αλληλεπίδραση του υπολογιστή σας και του Internet σαν να επρόκειτο για ένα μεγάλο υπολογιστικό σύστημα. Ετσι ένα σωρό πράγματα που μέχρι πρότινος δεν ήταν εφικτό να πραγματοποιηθούν αποτελούν πλέον πραγματικότητα: ειδήσεις με τίτλους που αναβοσβήνουν, interactive παιχνίδια, multimedia παρουσιάσεις που συνδυάζουν animation, μουσική, ήχο κ.ά.
Τα τρία σημαντικότερα προγραμματιστικά εργαλεία που συνδέονται με την Web τεχνολογία είναι η Java, η ActiveX και η JavaScript. Η Java αποτελεί μία γλώσσα προγραμματισμού η οποία έχει αναπτυχθεί από την Sun Microsystems και επιτρέπει την εκτέλεση εφαρμογών από το Internet ακριβώς όπως τρέχετε τις εφαρμογές γραφείου από τον υπολογιστή σας. Η Java μοιάζει με τη γλώσσα προγραμματισμού C++ και είναι αντικειμενοστραφής, κάτι που σημαίνει ότι τα προγράμματα μπορούν να δημιουργηθούν χρησιμοποιώντας πολλά ήδη υπάρχοντα συστατικά.
Τα Java προγράμματα τρέχουν στον Web browser, στην περίπτωση φυσικά που αυτός υποστηρίζει τη γλώσσα προγραμματισμού της Sun. Οταν τα Java προγράμματα τρέχουν μέσα σ' έναν browser, ονομάζονται applets. Για να τρέξετε ένα Java applet δεν χρειάζεται να κάνετε απολύτως τίποτα. Οταν επισκέπτεστε κάποιο Web site το οποίο έχει ένα Java applet, το εν λόγω applet κατεβαίνει αυτόματα από έναν Web server και τρέχει αυτόματα στον browser του συστήματός σας. Τα Java applets μπορούν να τρέχουν σε οποιονδήποτε υπολογιστή όπως PC, Macintosh ή σταθμό εργασίας Unix.
Η ActiveX αποτελεί μία τεχνολογία της Microsoft, η οποία επιτρέπει σε προγραμματιστές του Internet να δημιουργούν προγράμματα - τα οποία συχνά αναφέρονται ως ActiveX controls ή components - που μετατρέπουν το Internet ως μια επέκταση του υπολογιστή σας. Οπως τα Java applets έτσι και τα εν λόγω controls κατεβαίνουν στον υπολογιστή σας και τρέχουν εκεί. Μπορούν να κάνουν οτιδήποτε μπορεί και μια κανονική εφαρμογή, ενώ επιπροσθέτως μπορούν να αλληλεπιδρούν με τον Web, το Internet και άλλους υπολογιστές οι οποίοι είναι συνδεδεμένοι στο Internet. Για να τρέξετε τα ActiveX controls χρειάζεται ένας browser ο οποίος να υποστηρίζει την ActiveX, όπως ο Internet Explorer της Microsoft.
Στα πλεονεκτήματα των ActiveX controls συγκαταλέγεται ότι είναι γραμμένα με τη μορφή συστατικών, γεγονός που επιτρέπει την δημιουργία μεγάλων και σύνθετων εφαρμογών με την ένωση μικρών δομικών στοιχείων. Ενα άλλο πλεονέκτημα είναι ότι αν έχετε ήδη κατεβάσει κάποιο συστατικό δεν χρειάζεται να το ξανακατεβάσετε ποτέ. Αυτό σημαίνει ότι όταν επισκέπτεστε μία σελίδα που περιλαμβάνει μία σύνθετη ActiveX εφαρμογή μπορεί να χρειάζεται να κατεβάσετε μόνο ένα μικρό τμήμα της αν έχετε τα υπόλοιπα συστατικά εγκατεστημένα ήδη στον υπολογιστή σας.
Η JavaScript αποτελεί μία scripting γλώσσα η οποία είναι λιγότερο σύνθετη και ως εκ τούτου ευκολότερη να μαθευτεί σε σύγκριση με τις Java και ActiveX. Οσοι δεν έχουν ουσιαστική προγραμματιστική εμπειρία μπορούν να γράφουν scripts με τη βοήθεια της JavaScript. Οι εντολές της JavaScript εκτελούνται από τον browser με τη σειρά που ο browser τις διαβάζει. Η JavaScript χρησιμοποιείται συνήθως για την δημιουργία boxes, βοηθητικών στοιχείων για την πλοήγηση του χρήστη καθώς και φορμών αλληλεπίδρασης, ενώ μπορεί επίσης να χρησιμοποιηθεί και σε συνθετότερες εφαρμογές.

αρχή της σελίδας
αρχική σελίδα Όλα για το ιντερνέτ