WS.13-1Βασικά πρωτόκολλα και γλώσσες ∆ιαδικτύου και
Παγκόσµιου Ιστού, Βασικά Πρότυπα
Ιωάννης Αναγνωστόπουλος
Το ∆ιαδίκτυο ( Internet )
• Το ∆ιαδίκτυο είναι ένα WAN που καλύπτει ολόκληρο τον πλανήτη
• Η λέξη Internet από τον όρο internetworking, ο οποίος υποδηλώνειεπικοινωνία µεταξύ δικτύων
• Ξεκίνησε σαν ένα ερευνητικό πρόγραµµα της κυβέρνησης των ΗΠΑ, επιχορηγούµενο από την Advanced Research Projects Agency (ARPA). Αρχικά ονοµάζονταν ARPANET
• Το Internet αναπτύχθηκε γρήγορα στη δεκαετία του 90• Το 1983 ήταν συνδεδεµένοι στο Internet λιγότεροι από 600 Η/Υ, ενώ τώρα…
Ανάπτυξη του Internet: Συνδεδεµένοι Η/Υ
Περισσότερα στατιστικά:
nua.ie, mids.org, ripe.net, netcraft.com, gvu.gatech.edu, netsizer.com (Telcordia), caida.com, isoc.org
“Αόρατο” Web
Η επίδραση των κοινωνικών δικτύων στο web
Εκτίµηση µεγέθους στο ορατό Web
Εξέλιξη Τεχνολογιών
Εξελικτικά προβλήµατα – “the image from the past problem”
user’s submission at time: t0
t i
back time shift : [ t0 - tr+1 ]
ti+1
Content A Content A*
t r t r+1
time (t)
Content A* is not searchable
[ tr+1 , ti+1 )
Content A is searchable
[ ti , tr+1 )
t r+2
Content A**
ti+2
Content A** is not searchable
[ tr+2 , tr+3 )
Cached Content A Cached Content A*
visible invisible visible invisible
Content A is not searchable
[ tr , ti )
Content A* is searchable
[ ti+1 , tr+2 )
invisible
Content A***
t r+3
Content A*** is not searchable and
Content A** is lost
[ tr+3 , ti+2 )
tr: content is A, tr+1: content changes to A*, tr+2: content changes to A** , tr+3: content changes to A***
ti: content A is cached, ti+1: content A* is cached, ti+2: content A*** is cached
Cached Content A***
visible
Content A*** is searchable
[ ti+2 , …)
user’s submission at time: t0
t i
back time shift : [ t0 - tr+1 ]
ti+1
Content A Content A*
t r t r+1
time (t)
Content A* is not searchable
[ tr+1 , ti+1 )
Content A is searchable
[ ti , tr+1 )
t r+2
Content A**
ti+2
Content A** is not searchable
[ tr+2 , tr+3 )
Cached Content A Cached Content A*
visible invisible visible invisible
Content A is not searchable
[ tr , ti )
Content A* is searchable
[ ti+1 , tr+2 )
invisible
Content A***
t r+3
Content A*** is not searchable and
Content A** is lost
[ tr+3 , ti+2 )
tr: content is A, tr+1: content changes to A*, tr+2: content changes to A** , tr+3: content changes to A***
ti: content A is cached, ti+1: content A* is cached, ti+2: content A*** is cached
Cached Content A***
visible
Content A*** is searchable
[ ti+2 , …)
LOST
∆ιευθύνσεις - Ονόµατα Περιοχής - DNS
•Οι Η/Υ έχουν ένα µοναδικό (ευµνηµόνευτο από ανθρώπους) όνοµα στο ∆ιαδίκτυο(που αντιστοιχίζεται στην IP διεύθυνσή του)
sapfo.lesvos.aegean.gr(αντιστοιχεί στην IP διεύθυνση 195.251.128.3)zeus.harvard.edu (IP διεύθυνση?)
•Το πρώτο τµήµα δηλώνει έναν ειδικά Η/Υ (sapfo)•Το υπόλοιπο είναι το όνοµα περιοχής (domain name), που δηλώνει τον οργανισµό(lesvos.aegean.gr)• Μοναδικά ονόµατα περιοχής σηµαίνει ότι πολλαπλές τοποθεσίες µπορούν να έχουνατοµικούς Η/Υ µε το ίδιο τοπικό όνοµα (π.χ. sapfo.di.uoa.gr)•Το τελευταίο τµήµα (πρόσφυµα, suffix) κάθε ονόµατος περιοχής συνήθως υποδηλώνειτον τύπο του οργανισµού ή τη χώρα
DNS @ WikipediaThe Domain Name System (DNS) is a hierarchical naming system for computers,
services, or any resource participating in the Internet. It associates various information with domain names assigned to such participants. Most importantly, it translates
domain names meaningful to humans into the numerical (binary) identifiers associated with networking equipment for the purpose of locating and addressing these devices
world-wide. An often used analogy to explain the Domain Name System is that it serves as the "phone book" for the Internet by translating human-friendly computer hostnames
into IP addresses. For example, www.example.com translates to 208.77.188.166.
∆ιευθύνσεις - Ονόµατα Περιοχής - DNS
∆ιευθύνσεις - Ονόµατα Περιοχής - DNS
Γενική εικόνα
∆ιευθύνσεις - Ονόµατα Περιοχής - DNS
Ειδική εικόνα
Top Level Domains
edueducomcomorgorgnetnet
-- εκπαιδευτικόεκπαιδευτικό ίδρυµαίδρυµα
-- εµπορικήεµπορική επιχείρησηεπιχείρηση
-- µηµη κερδοσκοπικήκερδοσκοπική επιχείρησηεπιχείρηση
-- διαδικτυακόςδιαδικτυακός οργανισµόςοργανισµός
Το πρόσφυµα ως δηλωτικό της χώρας:
ΝέεςΝέες κατηγορίεςκατηγορίες προσφυµάτωνπροσφυµάτων
είναιείναι υπόυπό θεώρησηθεώρηση
ukukauaucacasesegrgr
-- ΕνωµένοΕνωµένο ΒασίλειοΒασίλειο
-- ΑυστραλίαΑυστραλία
-- ΚαναδάςΚαναδάς
-- ΣουηδίαΣουηδία
• Για παράδειγµα,
-- ΕλλάδαΕλλάδα
Management of most top-level domains is delegated to responsible parties or organizations by the Internet Corporation for Assigned Names and Numbers (ICANN), which operates the Internet Assigned Numbers Authority (IANA) and is in charge of maintaining the DNS root zone.
Top Level Domains - Greece
http://www.iana.org/domains/root/db/gr.html
Κύριες Εφαρµογές
• Tο Internetσυχνά συγχέεται µε τις εφαρµογές που δουλεύουν επί τουInternet.
• Τέτοιες δηµοφιλείς εφαρµογές είναι οι:
– News
– Telnet
– File Transfer Protocol (FTP)
– Internet Relay Chat (IRC)
– The World Wide Web
– Rich Content Applications
– Web 2.0
– Collaborative Knowledge
Εφαρµογές για Internet – File Transfer Protocol (FTP )
• Το FTPείναι ένα εργαλείο βασισµένο στο Internetγια να µεταφέρουµεαρχεία από έναν Η/Υ σε άλλον.
• Πρόσβαση µε ειδικό λογισµικό FTP ή Web browser– π.χ. ftp://lito.samos.aegean.gr/
username: samos/useridpassword: xxxxxxxx
• Τα πανεπιστήµια και οι εταιρείες λογισµικού χρησιµοποιούν FTP serversγια να παρέχουν σε επισκέπτες πρόσβαση σε δεδοµένα (ανώνυµο ftp για νααποφεύγεται η ανάγκη για λογαριασµούς).
• Στην πιο ανεπεξέργαστη µορφή του υποστηρίζει εντολές βασισµένες σεκείµενο.
Εφαρµογές για Internet – Internet Relay Chat ( IRC )
• Το Internet Relay Chat (IRC)είναι µια υπηρεσία που επιτρέπει σε χρήστες ναεπικοινωνούν σε πραγµατικό χρόνο τυπώνοντας κείµενο σε ένα ειδικόπαράθυρο.
• Όπως µε τη newsυπάρχουν εκατοντάδες IRC ‘‘ καναλιών’’, το καθένααφιερωµένο σε ένα θέµα ή οµάδα χρηστών.
• Υπάρχουν ειδικά λογισµικά IRC, αλλά πολλά chatrooms είναι εγκατεστηµένασε τοποθεσίες του Web (Web sites) δίνοντας τη δυνατότητα στους επισκέπτεςνα συζητούν απευθείας µέσω του παράθυρου του browser τους.
Εφαρµογές για Internet – The World Wide Web ( WWW)
• Εµφανίζεται το 1993 και «απογειώνει» το Internet• Προέρχεται από ένα εσωτερικό σύστηµα διαχείρισης εγγράφων που
αναπτύχθηκε από τον Tim Berners-Lee για συναδέλφους του φυσικούς στοCERN (Ελβετία). Πρωτοµιλάει για το www το 1990.
• Αποτελεί σύνθεση τριών τεχνολογιών:– ∆ίκτυα Η/Υ– ∆ιαχείριση εγγράφων / πληροφορίας– Λογισµικό γραφικής διεπαφής µε χρήστες (graphical user interface)
• Το WWW υποστηρίζει έγγραφα υπερκειµένου (hypertext documents) καιεπιτρέπει στους χρήστες να βλέπουν και να κάνουν πλοήγηση σεδιαφορετικούς τύπους δεδοµένων.
• Μέσο επικοινωνίας όχι διαφορετικό από τους παρόµοιους πρόγονους του(ραδιόφωνο, τηλεόραση, ...). Όµως ο καθένας µπορεί να γράψει µιαιστοσελίδα (Web page) και να την κάνει διαθέσιµη σε κοινή θέα.
Άλλες χρήσεις
• Σήµερα:
– e-Banking
– Επικοινωνίες (π.χ. e-mail, chat, …)
– Προσοµοίωση (simulation)
– ∆ιασκέδαση
– Ενηµέρωση
– Εκπαίδευση
• Αύριο:
– Ηλεκτρονική Ψήφος
– Τηλε-εργασία
– Εικονικές Περιηγήσεις
Ο Η/Υ NeXT στον οποίο «έτρεξε» ο πρώτος web server και browser στο CERN
Και η οθόνη του…
Υπερκείµενο ( HyperText )
• Το Web είναι βασισµένο στην έννοιατου υπερκειµένου - ένας µηχανισµόςόπου η πληροφορία είναικατανεµηµένη σε πολλές σελίδες καιδια-συνδεδεµένη. Επιτρέπει τηνπλοήγηση ανάµεσα σε πληροφορίεςµε µη γραµµικό τρόπο
• Το 1990 κυκλοφόρησε ο πρώτος Web browser, βασισµένος σε κείµενο καιικανός να ακολουθεί βασισµένους σεκείµενο υπερσυνδέσµους. Η ανάγκηυποστήριξης γραφικών οδήγησε στονπρώτο Web browserγραφικών –Mosaic –τον πρόγονο του Netscape.
• Μια τυπική web σελίδα σήµεραυποστηρίζει κείµενο, πίνακες, πλαίσια, φόρµες, ήχο, βίντεο, ...
Υπερκειµενική Ονοµατοδοσία (URI)
Uniform Resource IdentifierUniform Resource LocatorUniform Resource Name
Υπερκειµενική Ονοµατοδοσία (URI) - Παράδειγµα
Υπερκειµενική Ονοµατοδοσία (URI) –Παράδειγµα στο WEB
Ταυτότητα Βιβλίου:
urn:ISBN-13: 978-0131752429
Πρόσβαση:
http://www.amazon.co.uk/Internet-World-Wide-Web-Program/dp/0131752421/ref=sr_1_1?ie=UTF8&s=books&qi d=1255874240&sr=1-1
Πρόσβαση Ταυτότητα
Υπερκειµενική Ονοµατοδοσία (URI) –Παράδειγµα σε ∆ίκτυα
Ταυτότητα Βιβλίου:
urn:ISBN-13: 978-0131752429
Πρόσβαση:
ftp://147.102.16.12/Books/Internet_and_Web/Deitel_W eb_how_to_program.pdf
Πρόσβαση Ταυτότητα
Υπερκειµενική Ονοµατοδοσία (URI) –Παράδειγµα local file system
Ταυτότητα Βιβλίου:
urn:ISBN-13: 978-0131752429
Πρόσβαση:
file:///home/username/Deitel_Web_how_to_program.pdf
Πρόσβαση Ταυτότητα
Αναζήτηση Πληροφορίας
• Το Webείναι τώρα µια τεράστια πηγή πληροφορίας και δεδοµένων -Πως µπορεί κανείς να ψάξει αυτή την πελώρια αποθήκη για τησυγκεκριµένη πληροφορία που χρειάζεται;
• Xρησιµοποιoύνται οι Μηχανές Αναζήτησης (search engines): Google, Altavista, InfoSeek, …
• Αναζητήσεις µε λέξεις κλειδιά (keywords) και Boolean λογική• Επιστροφή αποτελεσµάτων (σελίδες που περιέχουν τα keywords) µε
συνδέσµους προς τις αρχικές θέσεις των εγγράφων. • Οι βάσεις δεδοµένων των µηχανών αναζήτησης είναι κτισµένες µε
αυτοµατοποιηµένα botsor spiders -λογισµικό που ψαρεύει στο Webδιαβάζοντας και ανακτώντας την πληροφορία που χρειάζεται ναπροσθέσουν στη βάση δεδοµένων τους. Τα αποτελέσµατα ποικίλουνανάλογα µε τη µηχανή αναζήτησης.
• Αντίστοιχα bots χρησιµοποιούν και οι spammers για να «ψαρεύουν»email διευθύνσεις
• Κάποιες µετα-µηχανές αναζήτησης (MetaCrowler, OneSeek) κάνουνπαράλληλες αναζητήσεις χρησιµοποιώντας διαφορετικές µηχανέςαναζήτησης.
Τι κάνει ένας πελάτης ( web client )
• Αφού συνδεθεί, ο χρήστης προσπελαύνει το Webµέσω λογισµικού πουλέγεται browser (π.χ. Netscape, Internet Explorer…, Mozilla Firefox).
• Οι browsersεντοπίζουν και εµφανίζουν πληροφορία από το Web.• Η επικοινωνία γίνεται µέσω µιας συµφωνηµένης γλώσσας µεταφοράς ή
πρωτοκόλλου, π.χ. HTTP (HyperText Transfer Protocol).• Ο χρήστης ζητάει µια ιστοσελίδα µέσω του browser ο οποίος το κοινοποιεί
στον εξυπηρετητή.• Ο browserπεριµένει να µεταφερθεί η ιστοσελίδα, τυπικά ένα αρχείο
κειµένου που περιέχει οδηγίες σε HTML.• Τα περίπλοκα γραφικά και η µορφοποίηση που βρίσκει κανείς στις
ιστοσελίδες είναι αποτέλεσµα από τον client browserπου ανταποδίδει τηνσελίδα στη µορφοποίηση που ήταν καθορισµένη στο αρχείο.
• Οι εικόνες και γραφικά δεν αποτελούν µέρος µιας HTML σελίδας αλλάαποστέλλονται ξεχωριστά (απλά ο browser διαβάζει την HTML σελίδα καιεµφανίζει τα γραφικά βάσει των οδηγιών που περιλαµβάνονται στηνHTML).
Τι κάνει ένας εξυπηρετητής (web server)
• Η δουλειά του server είναι πιο εύκολη.• Ο serverείναι λογισµικό (π.χ. Apache Server ή Microsoft Internet
Information Server) που τρέχει σ’ έναν υπολογιστή και αποκρίνεται στιςαιτήσεις του client για ιστοσελίδες
• Οι ιστοσελίδες υπάρχουν στο τοπικό του σύστηµα αρχείων.• Ο serverανακτά και διαβιβάζει τα αρχεία στον client
Πλοήγηση στο Web
• Για να προσπελάσουµε µια ιστοσελίδα, πρέπει να καθοριστεί στονbrowser η ακριβής της διεύθυνση, πληκτρολογώντας την, ή κάνονταςκλικ σ’ ένα σύνδεσµο υπερκειµένου.
• Αυτή η διεύθυνση είναι o οµοιόµορφος εντοπιστής πόρων* (UniformResource Locator - URL).
• Η διεύθυνση URL περιέχει όλη την αναγκαία πληροφορία για τηµονοσήµαντη ταυτοποίηση ενός συγκεκριµένου αρχείου στον κόσµο.
http://www.lib.aegean.gr/SERVICES/online_journals/JOURNALS.htm
* κατά ΕΛΟΤ
Ο τρόπος οργάνωσης
http://www.lib.aegean.gr/SERVICES/online_journals/JOURNALS.htm
Πρωτόκολλο
για τη
µεταφορά της
ιστοσελίδας
Είδος
server
Όνοµα
περιοχής του
server (DNS)
Directory στοδίσκο του
server (alias)
Όνοµα
αρχείου
ιστοσελίδας
Ο τρόπος οργάνωσης
• Όταν αποθηκεύουµε µια ιστοσελίδα σε έναν εξυπηρετητή ιστού (web server), τότε λέµε ότι «δηµοσιεύουµε» τη σελίδα στο διαδίκτυο.
• Κάθε χρήστης/ίδρυµα/οργανισµός/εταιρία που θέλει να έχει παρουσία στο
web οργανώνει της πληροφορίες του δηµιουργώντας ένα σύνολο
ιστοσελίδων, συνδεδεµένων µε συστηµατικό τρόπο και ιεραρχική
οργάνωση.
• Το σύνολο αυτών των ιστοσελίδων αποτελεί την τοποθεσία (web site).
Εξυπηρετητές παγκόσµιου ιστού (Web servers)
• Οι web servers λειτουργούν ως χώροιαποθήκευσης ιστοσελίδων. Αποτελούνται από:– Υλικό (PC, workstation)– Λειτουργικό σύστηµα (Windows
NT, 2000, XP, Unix)– Λογισµικό web server: Apache
(60% της αγοράς, open-source), IIS (τρέχει σε Windows)
• Στον ίδιο Η/Υ όπου τρέχει ο web server µπορούν να τρέχουν κι άλλοιservers (services)
• Οι web servers «ακούνε» σε µίασυγκεκριµένη πόρτα (port 80) περιµένοντας αιτήσεις από clients (browsers) Browser
Browser Browser
Web Server
Internet
BrowserBrowser Browser
Web Server
Internet
Μοντέλο Client-Server στο Web
• Client (πελάτης): web browser (Microsoft Internet Explorer, Netscape Navigator, …)
• Server (εξυπηρέτης): web server– Υλικό (PC, workstation)– Λειτουργικό σύστηµα (Windows NT, 2000, XP, Unix)– Λογισµικό web server: Apache (52% της αγοράς, open-source), IIS (33% της
αγοράς), Google Web Server (6% της αγοράς)• HTTP: HyperText Transfer Protocol• HTML: HyperText Meta Language
Web browser
Webserver
HTTP Αίτηση
HTTP Απόκριση
Web server
filesystem
Ανάκτηση
αρχείων
Internet
DNS server
«Συνοµιλία» web client (browser) – web serverΠιο αναλυτικά…
• Τι συµβαίνει από τη στιγµή που πληκτρολογήσουµε τη διεύθυνση µιας
τοποθεσίας:
1. O browser απευθύνεται στον DNS server που εξετάζοντας τη URL εντοπίζει την IP διεύθυνση του web server στον οποίο απευθύνεται η
αίτηση
2. Ο browser στέλνει το αίτηµα για αποστολή της ιστοσελίδας στον web server
3. Το αίτηµα φτάνει στον web server που αναζητά και ανακτά την
αιτούµενη σελίδα από τον τοπικό του δίσκο
4. Η ιστοσελίδα αποστέλλεται (µέσω HTTP)
«Συνοµιλία» web client (browser) – web server (II)
• Τι συµβαίνει από τη στιγµή που πληκτρολογήσουµε τη διεύθυνση µιας
τοποθεσίας (συνέχεια):
5. Ο browser λαµβάνει την ιστοσελίδα (HTML αρχείο), διαβάζει τιςοδηγίες του HTML κώδικα και σχεδιάζει το περιεχόµενο αντίστοιχα
6. Αν η ιστοσελίδα περιέχει φωτογραφίες, αυτές στέλνονται ωςξεχωριστά αρχεία από τον web server στον browser.
7. To ίσιο συµβαίνει στην περίπτωση που η σελίδα «περιλαµβάνει» και
applets
8. Αν ο HTML κώδικας έχει και ενσωµατωµένο κώδικα σεναρίου
(γραµµένο σε κάποια script γλώσσα, π.χ. Javascript), αυτός εκτελείταιαπό τον browser.
HTTP
• Το πρωτόκολλο που χρησιµοποιείται στο www• Καθορίζει τη µορφοποίηση των µηνυµάτων (πακέτων) κατά τη µετάδοσή
τους και τις ενέργειες που πρέπει να ακολουθήσουν οι web servers και οιweb clients (browsers) ώστε να ανταποκριθούν στις διάφορες εντολές
• π.χ., όταν εισάγουµε µια URL σε έναν browser,ουσιαστικά στέλνεται µιαεντολή µέσω HTTP σε ένα αποµακρυσµένο web server κατευθύνοντάς τοννα ανακτήσει και να αποστείλει µια συγκεκριµένη ιστοσελίδα (HTML αρχείο)
• To HTTP είναι «αµνήµων» (stateless system):για την ολοκλήρωση µιαςαποστολής (π.χ. ιστοσελίδα µε κείµενο και εικόνες) απαιτούνταιπολλαπλές συνδέσεις (αιτήσεις/αποκρίσεις). Έτσι αυξάνεται η κλιµάκωση(scalability)καθώς εξυπηρετούνται ταυτόχρονα πολλοί clients αλλάµειώνεται η ταχύτητα.
HTTP
HTTP GET/REQUEST methods
www.example.com/index.html
Client request
Server response
[Κενή γραµµή][content][…]
HTTP GET/REQUEST methods
List of HTTP status codes
1xx Informational
2xx Success (200 OK, 202 Accepted/Not completed, 20 6 Partial Content)
3xx Redirection (302 Found, 303 See other redi rect, 305 Use proxy)
4xx Client Error ( 402 Payment required, 403 Forbidden, 404 Not Found, 408 Timeout)
5xx Server Error (500 Internal Server Error, 502 Ba d Gateway, 503 Service Unavailable)
Ένας proxy server είναι ένας µεσάζων µεταξύ ενός client και ενός άλλου server (origin server). για τον client, ο proxy δρα ως server.
για τον server (origin), ο proxy δρα ως client.
Client Proxy OriginServer
HTTP requestHTTP request HTTP requestHTTP request
HTTP responseHTTP responseHTTP responseHTTP response
proxy servers
• ∆ιεκπεραιώνουν χρήσιµες λειτουργίες όπως
αιτήσεις και απαντήσεις
– Π.χ.: Caching, logging, ασφάλεια
ClientA
Proxycache
OriginServer
Request foo.html
Request foo.html
foo.html
foo.html
ClientB
Request foo.html
foo.html
Fast inexpensive local network
Slower more expensive
global network
proxy servers
Check Etag
ΠρογραµµατισµόςΠρογραµµατισµός στονστονπαγκόσµιοπαγκόσµιο ιστόιστό απόαπό τηντην πλευράπλευρά
τουτου πελάτηπελάτη
((clientclient--side web programming)side web programming)
Client Side
• Tα ενεργά στοιχεία (κώδικας) «κατεβαίνουν» στο web browser µαζί µε τηστατική πληροφορία (HTML)
• O Browser πρέπει να µπορεί να εντοπίσει και να εκτελέσει τα ενεργάστοιχεία – προγράµµατα
• ∆ύο κατηγορίες τεχνολογιών:1. Ο κώδικας είναι προ-µεταγλωττισµένος, ο browser τον «ερµηνεύει»
(εκτελεί), π.χ. Java Applets2. Κώδικας σεναρίου (script), ο browser τον επεξεργάζεται και αν είναι
συντακτικά σωστός τον εκτελεί, π.χ. Javascript, VBscript)
WWW Browser
WWW Server
HTMLXHTML(CSSJavaScriptVbScript runtime environment)JVM (J Applets) / Active X
HTTP Request
HTTP Response
Client Side: Καταλληλότητα, Πλεονεκτήµατα, Μειονεκτήµατα
• Κατάλληλη τεχνολογία όταν:– Ελέγχεται η είσοδος του χρήστη (form validation)– Απαιτούνται πολύπλοκες λειτουργίες στον πελάτη (πχ. διάδραση)
• Πλεονεκτήµατα:– Ταχύτερες λόγω τοπικής εκτέλεσης
– ∆υνατότητα εκτέλεσης χωρίς συνεχή σύνδεση server/client– ∆υνατότητες, ευελιξία, ευχρηστία και καλαισθησία ιστοσελίδων
– Οικονοµία – Καµία εµπλοκή µε server• Μειονεκτήµατα:
– Ο κώδικας είναι ορατός
– ∆εν µπορεί να έχει πρόσβαση στο τοπικό file system– ∆εν τρέχουν σε όλους τους clients (browsers)
Client Side:Υπάρχουσες Τεχνολογίες
• Flash: τεχνολογία για δηµιουργία animation εφέ σε ιστοσελίδες.– Απαιτεί λιγότερο bandwidth από ένα videoπου πρέπει να γίνει «download»
πλαίσιο µε πλαίσιο (δουλεύει ικανοποιητικά και σε αργές Internet συνδέσεις). – Απαιτείται ειδικό λογισµικό εγκατεστηµένο στον client (plug-in στον browser).
Τέτοια plug-ins είναι δωρεάν διαθέσιµα για τους περισσότερους browsers . Ωστόσο δεν µπορεί να υποτεθεί ότι όλοι οι χρήστες «βλέπουν» τα flash animations.
– Για το σχεδιασµό Flash animationsαπαιτείται ειδικό λογισµικό.– Αν και τα Flash animationsµπορεί να είναι εντυπωσιακά, µπορεί να είναι και
ενοχλητικά (π.χ. Κάποιος θέλει να αναζητήσει κάποια συγκεκριµένη πληροφορίακαι θα πρέπει να περιµένει να «κατέβει» το animation.
• VBScript: µια γλώσσα βασισµένη στη Visual Basic, µε παρόµοιες δυνατότητες µε τηJavascript, αλλά δουλεύει µόνο στον Internet Explorer (τεχνολογία Microsoft).
• Java Applets• Javascript
Java AppletsJava Applets
Applets (µικρο-εφαρµογές)
• Προγράµµατα γραµµένα σε Java• Ενσωµατωµένες οδηγίες σε ιστοσελίδες για την εκτέλεσή τους
• Όταν ιστοσελίδες που περιέχουν applets εµφανίζονται σε Web browsers, τότε"φορτώνονται" και εκτελούνται και τα applets.
• Τα applets στέλνονται στον web client (browser) µε ξεχωριστή HTTP αίτηση/απόκριση
• Applet tags
– Μοιάζουν µε τα υπόλοιπα HTML Tags:
– <APPLET CODE="TestApplet.class" WIDTH=300 HEIGHT=200>
</APPLET>
• Η "έξοδος" του applet εµφανίζεται σε ένα
υποσύνολο της περιοχής εµφάνισης
πληροφοριών του browser. H
W
∆ιαδικασία εκτέλεσης Applet
HTML κώδικας
HTML κώδικας
Web browser
Web server
<HTML>
Hello!!!
<APPLET code=“welcome.class">
</APPLET>
An applet is running above!
</BODY>
</HTML>
page.html
welcome.class
$%@#$$#@bgdb
234#$%#%^#^&
4$%#%pgb$f#@$
23%^^565^&&m(!@#$6432
1
2
Κενός χώρος
(εδώ θα εµφανιστεί
το Αpplet)
Προγραµµατισµός στονπαγκόσµιο ιστό από την πλευρά
του εξυπηρέτη
(server-side web programming)
Server-Side programming
WWW Browser
WWW Server
Επεξεργασία
δυναµικών
σελίδων
(ASP, JSP,PHP, Servlets)
HTML
DHTML(CSS
JavaScriptVbScript runtime
environment)
JVM (J Applets) / Active X
Βάση
∆εδοµένων
ApplicationServers
HTTP Request (+Παράµετρο)
HTTP Response: HTML ∆υναµική
Web browser
Web server
<html><body><?php
if ($grade >= 5) echo "You have passed!“
else echo "You have failed";?></body></html>
process_grade.php
<html>
<body>
You have passed!!!
</body>
</html>
PHPengine
1. O χρήστηςσυµπληρώνει τη
φόρµα και πατάει
το πλήκτρο Submit
2. O browser στέλνει τηνπαράµετρο $grade (=7)και ζητάει την αποστολή
της σελίδας
process_grade.php
3. O server λαµβάνει τηναίτηση και ζητάει την
εκτέλεση των ενεργών
στοιχείων της σελίδας
process_grade.php από
την PHP µηχανή
4. Η PHP µηχανήεκτελεί τον
κώδικα και
επιστρέφει
«καθαρό» HTML5. O server επιστρέφει τον
HTML κώδικα στον
browser που τον
εµφανίζει
Αλληλεπίδραση browser-web server µε χρήση
τεχνολογίας server side
Server Side: Καταλληλότητα, Πλεονεκτήµατα, Μειονεκτήµατα
• Καταλληλότητα:
– ∆υναµική / Παραµετρική εµφάνιση περιεχοµένου
– Απαραίτητο όταν απαιτείται επικοινωνία (αλληλεπίδραση) µε τον Server
– ∆υνατότητα ελέγχου των χρηστών π.χ. µε µετρητές επισκέψεων (hit counters), ελεγχόµενη πρόσβαση σε κάποιες σελίδες
• Πλεονεκτήµατα:
– Η επεξεργασία µεταφέρεται στο server, χρησιµοποιείται η ισχύς του server
– O κώδικας είναι κρυφός
– Η εκτέλεση του κώδικα είναι ανεξάρτητη του browser: στέλνεται “καθαρό” HTML που εµφανίζεται πανοµοιότυπο σε κάθε browser
– Η µοναδική λύση για πρόσβαση στο file system του server
• Μειονεκτήµατα:
– Χρησιµοποιεί πολύτιµη επεξεργαστική ισχύ του server.
– Κλιµάκωση (scalability)
Server Side: Τεχνολογίες
Ολοκλήρωση, αξιοπιστίαΟποιοσδήποτε web server
Java Servlets
∆ωρεάν, αξιοπιστία, εύκολη στη
χρήση
Apache (open source), IIS
PHP (.php)
Κλιµάκωση, αξιοπιστίαΟποιοσδήποτε web server
Java Server Pages (.jsp)
Σχετικά εύκολο στη χρήση, καλήενσωµάτωση/ ολοκλήρωση(integration), καλή υποστήριξη
(support) από Microsoft
MS IIS (Internet Information Server)
Active Server Pages (.asp)
ΠλεονεκτήµαταServerΤεχνολογία
http://en.wikipedia.org/wiki/Server-side_scripting
References
• Αναγνωστόπουλος Ιωάννης, Τεχνολογίες ∆ιαδικτύου, Πανεπιστήµιο Αιγαίου
•Γαβαλάς ∆αµιανός, Τεχνολογίες Παγκόσµιου Ιστού, Πανεπιστήµιο Αιγαίου
• Αναγνωστόπουλος Ιωάννης, Προγραµµατισµός στο Παγκόσµιο Ιστό, Πανεπιστήµιο Αιγαίου
Top Related