Η ραγδαία εξάπλωση του Internet και ο τεράστιος όγκος των πηγών πληροφόρησης
που προσφέρει έχει επιτείνει την ανάγκη χρήσης βοηθητικών εργαλείων για την
πλοήγηση στα περιεχόμενά του. Τώρα μπορούμε να χρησιμοποιήσουμε ειδικό λογισμικό
το οποίο ονομάζεται agents και μας βοηθά να προσπελάσουμε τις πηγές του Internet.
Υπάρχουν αρκετοί τεχνικοί ορισμοί για τους agents αν και πολύ απλά πρόκειται
για προγράμματα που κάνουν τις δουλειές σας αυτόματα. Πολλοί από αυτούς τρέχουν
στο Internet ή σε ανεξάρτητα συστήματα καθημερινά. Οι agents μπορούν να βρουν
τις τελευταίες ειδήσεις και να τις "κατεβάσουν" στον υπολογιστή σας,
να παρακολουθούν αυτόματα την κίνηση του Internet και να αναφέρουν την συνολική
χρήση του, να βρουν την καλύτερη τιμή για το CD που θέλετε να αγοράσετε, να
αναλάβουν σημαντικά καθήκοντα συντήρησης του Web και πολλά ακόμη. Τον τελευταίο
καιρό η πολυπλοκότητα των agents έχει αυξηθεί τόσο πολύ ώστε έχουν αναπτυχθεί
συστήματα που τους επιτρέπουν να αλληλεπιδρούν μεταξύ τους και να συνεργάζονται
στην εκτέλεση των εργασιών τους.
Στο Internet οι agents συχνά αναφέρονται ως spiders, robots (ή bots για συντομία)
knowbots κ.ά. Οι εν λόγω agents χρησιμοποιούνται για αυτόματες αναζητήσεις και
δημιουργούν καταλόγους για οποιαδήποτε σχεδόν πηγή του Web και εν συνεχεία επιτρέπουν
στους χρήστες να ψάχνουν σ' αυτούς τους καταλόγους για να βρίσκουν ταχύτερα
αυτό που αναζητούν. Οι συνήθεις μηχανές αναζήτησης όπως οι Lycos, InfoSeek και
AltaVista χρησιμοποιούν τους agents κατ' αυτόν τον τρόπο.
Οι εν λόγω agents αποτελούν προγράμματα τα οποία είναι αόρατα στον χρήστη. Απλώς
πρέπει να καθορίσετε το καθήκον που θέλετε να εκτελέσει και τότε ο agent το
εκτελεί στο παρασκήνιο. Για την συγγραφή των agents μπορούν να χρησιμοποιηθούν
διάφορες γλώσσες προγραμματισμού.
Οι agents μπορούν μελλοντικά να αλλάξουν πλήρως τον τρόπο που χρησιμοποιούμε
το Internet. Οχι απλώς θα απαντούν στις αιτήσεις μας αλλά θα "μαθαίνουν"
από αυτές για το είδος των καθηκόντων και των πληροφοριών που μας ενδιαφέρουν.
Τότε θα προχωρούν μόνοι τους και θα εκτελούν τα συγκεκριμένα καθήκοντα και θα
παίρνουν τις πληροφορίες πριν κάνουμε επιπρόσθετες αιτήσεις. Οσο τακτικότερα
χρησιμοποιούμε τους εν λόγω agents τόσο αυτοί θα γίνονται εξυπνότεροι και πιο
αποτελεσματικοί.
Οι agents μπορούν να προκαλέσουν σημαντικά προβλήματα σε ορισμένα Web sites.
Για παράδειγμα μπορούν να υπερφορτώσουν τους Web servers βομβαρδίζοντάς τους
με πάρα πολλές αιτήσεις σε περιορισμένο χρόνο. Αυτό σημαίνει ότι οι χρήστες
που προσπαθούν να συνδεθούν με αυτές τις Web σελίδες ή δεν θα μπορούν να αποκτούν
πρόσβαση ή η πρόσβασή τους θα είναι εξαιρετικά αργή.
Οι agents προκαλούν επίσης και ένα ακόμη πρόβλημα με οικονομική διάσταση. Πολλά
Web sites πωλούν διαφημίσεις και χρεώνουν τους διαφημιζόμενους σε σχέση με τον
αριθμό των σελίδων που βλέπουν οι χρήστες. Αν πολλές από αυτές τις σελίδες δεν
βλέπονται από ανθρώπους αλλά προσπελαύνονται από έναν υπολογιστή μέσω κάποιου
agent, τότε δημιουργείται ένα πρόβλημα τόσο για τα sites όσο και για τους διαφημιζόμενους.
Υπάρχουν αρκετοί μέθοδοι επίλυσης των προαναφερθέντων προβλημάτων και περιορισμού
της πρόσβασης των agents. Ενας τρόπος προβλέπει τη δημιουργία ενός αρχείου το
οποίο περιγράφει τις περιοχές που υπάρχουν περιορισμοί για τους agents. Ετσι
οι agents διαβάζουν το συγκεκριμένο αρχείο και δεν επισκέπτονται τις συγκεκριμένες
περιοχές. Ενας άλλος τρόπος είναι η χρήση τεχνολογίας που ανιχνεύει αυτόματα
αν κάποιος agent ή χρήστης επισκέπτεται μια σελίδα και ως εκ τούτου χρεώνει
τους διαφημιζόμενους μόνο στη δεύτερη περίπτωση.
To CGI Scripting
Αν περιηγείστε στον Web επί μακρόν είναι σίγουρο ότι θα συναντήσετε τον όρο
CGI ή Common Gateway Interface. Το CGI αναφέρεται στο τηλεπικοινωνιακό πρωτόκολλο
με το οποίο ένας Web server μπορεί να επικοινωνήσει με άλλες εφαρμογές. Για
παράδειγμα, μία CGI εφαρμογή, η οποία συνήθως ονομάζεται script, χρησιμοποιείται
συχνά επιτρέποντας στους χρήστες του Web να προσπελαύνουν βάσεις δεδομένων ή
να παίρνουν πληροφορίες από φόρμες που συμπληρώνουν. Το CGI μπορεί να επίσης
να χρησιμοποιηθεί για τη δημιουργία agents που θα εκτελούν κάποια καθήκοντα
όπως ο έλεγχος ενός Web site για την εύρεση πιθανών "σπασμένων" links.
Ουσιαστικά, το CGI αποτελεί ένα πρότυπο με το οποίο ο Web αλληλεπιδρά με εξωτερικές
πηγές. Συχνά αυτή η εξωτερική πηγή είναι μία βάση δεδομένων. Πιθανώς να τρέχετε
πολλά CGI scripts χωρίς καν να το γνωρίζετε. Για παράδειγμα, αν συμπληρώσατε
μία φόρμα μιας Web σελίδας για να εγγραφείτε σε κάποιο site και αργότερα λάβατε
μία ειδοποίηση μέσω e-mail η οποία να περιέχει το password που μπορείτε να χρησιμοποιήσετε,
πιθανώς να έχετε τρέξει ένα CGI script. Σ' αυτή την περίπτωση το CGI script
πιθανώς να πήρε τις πληροφορίες που συμπληρώσατε στη φόρμα, να έκανε διάφορες
εργασίες με αυτήν, συμπεριλαμβανομένης της αποστολής των πληροφοριών σε μία
βάση δεδομένων, της αυτόματης δημιουργίας ενός password και της αποστολής του
mail.
Συχνά υπάρχει σύγχυση μεταξύ του CGI και των CGI εφαρμογών. Οι CGI εφαρμογές
λαμβάνουν δεδομένα από τον server και τα επιστρέφουν μέσω του Common Gateway
Interface. Οι CGI εφαρμογές συνήθως γράφονται σε μία γλώσσα προγραμματισμού
ονόματι Perl (Practical Extraction and Reporting Language) αν και μπορούν να
γραφούν και σε άλλη γλώσσα όπως οι C, C++, Pascal, AppleScript κ.ά. Το CGI αποτελεί
ένα προτυποποιημένο μέσο επικοινωνίας μεταξύ μιας CGI εφαρμογής και του HTTP
server. Είναι η "είσοδος" μέσω της οποίας ο Web server στέλνει αιτήσεις
και η CGI εφαρμογή συλλέγει και επιστρέφει τα δεδομένα.
Στο παράδειγμα της παροχής πληροφοριών σε μία Web σελίδα η οποία έχει σχεδιαστεί
να δέχεται την είσοδο των χρηστών, το CGI εκτελεί πολλά καθήκοντα. Πρώτα απ'
όλα δίνετε κάποιες μοναδικές πληροφορίες - όπως το όνομα ή την ηλεκτρονική σας
διεύθυνση - στον server για επεξεργασία. Εν συνεχεία, ο server ανακατευθύνει
τις πληροφορίες σε μία CGI εφαρμογή η οποία καλείται από τη φόρμα "submit".
Τα CGI scripts ενεργοποιούνται από τον server σε απάντηση μιας HTTP αίτησης
από τον client. Τελικά μία CGI εφαρμογή μπορεί να στείλει δεδομένα της φόρμας
σε ένα άλλο πρόγραμμα όπως μία βάση δεδομένων, να τα αποθηκεύσει σε ένα αρχείο
ή να δημιουργήσει ένα μοναδικό HTML έγγραφο σε απάντηση στην αίτηση του χρήστη.
Αυτό είναι γνωστό ως αλληλεπιδραστική φόρμα.