Ws13 1(2010-11)

1,022 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,022
On SlideShare
0
From Embeds
0
Number of Embeds
139
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ws13 1(2010-11)

  1. 1. WS.13-1Βασικά πρωτόκολλα και γλώσσες ∆ιαδικτύου και Παγκόσµιου Ιστού, Βασικά Πρότυπα Ιωάννης Αναγνωστόπουλος
  2. 2. Το ∆ιαδίκτυο ( Internet )• Το ∆ιαδίκτυο είναι ένα WAN που καλύπτει ολόκληρο τον πλανήτη• Η λέξη Internet από τον όρο internetworking, ο οποίος υποδηλώνει επικοινωνία µεταξύ δικτύων• Ξεκίνησε σαν ένα ερευνητικό πρόγραµµα της κυβέρνησης των ΗΠΑ, επιχορηγούµενο από την Advanced Research Projects Agency (ARPA). Αρχικά ονοµάζονταν ARPANET• Το Internet αναπτύχθηκε γρήγορα στη δεκαετία του 90• Το 1983 ήταν συνδεδεµένοι στο Internet λιγότεροι από 600 Η/Υ, ενώ τώρα…
  3. 3. Ανάπτυξη του Internet: Συνδεδεµένοι Η/ΥΠερισσότερα στατιστικά:nua.ie, mids.org, ripe.net, netcraft.com, gvu.gatech.edu, netsizer.com (Telcordia), caida.com,isoc.org
  4. 4. “Αόρατο” Web
  5. 5. Η επίδραση των κοινωνικών δικτύων στο web
  6. 6. Εκτίµηση µεγέθους στο ορατό Web
  7. 7. Εξέλιξη Τεχνολογιών
  8. 8. Εξελικτικά προβλήµατα – “the image from the past problem” user’s submission at time: t 0 back time shift : [ t 0 - tr+1 ] Content A Content A * Content A** Content A *** LOST Cached Content A Cached Content A * Cached Content A *** invisible visible invisible visible invisible visible tr ti t r+1 ti+1 t r+2 t r+3 ti+2 Content A is Content A is Content A * is Content A * is Content A ** is Content A *** is not Content A *** isnot searchable searchable not searchable searchable not searchable searchable and searchable Content A ** is lost [ tr , ti ) [ ti , tr+1 ) [ tr+1 , ti+1 ) [ ti+1 , tr+2 ) [ tr+2 , tr+3 ) [ tr+3 , ti+2 ) [ ti+2 , … ) time (t) tr: content is A, t r+1: content changes to A *, tr+2: content changes to A **, tr+3: content changes to A *** ti: content A is cached, t i+1: content A* is cached, t i+2: content A*** is cached
  9. 9. ∆ιευθύνσεις - Ονόµατα Περιοχής - 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 @ Wikipedia The 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 translatesdomain names meaningful to humans into the numerical (binary) identifiers associated with networking equipment for the purpose of locating and addressing these devicesworld-wide. An often used analogy to explain the Domain Name System is that it servesas 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.
  10. 10. ∆ιευθύνσεις - Ονόµατα Περιοχής - DNS
  11. 11. ∆ιευθύνσεις - Ονόµατα Περιοχής - DNS Γενική εικόνα
  12. 12. ∆ιευθύνσεις - Ονόµατα Περιοχής - DNS Ειδική εικόνα
  13. 13. Top Level Domains 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.• Για παράδειγµα, - εκπαιδευτικό ίδρυµα edu com - εµπορική επιχείρηση org - µη κερδοσκοπική επιχείρηση net - διαδικτυακός οργανισµός Το πρόσφυµα ως δηλωτικό της χώρας: uk - Ενωµένο Βασίλειο au - Αυστραλία Νέες κατηγορίες προσφυµάτων ca - Καναδάς είναι υπό θεώρηση se - Σουηδία gr - Ελλάδα
  14. 14. Top Level Domains - Greecehttp://www.iana.org/domains/root/db/gr.html
  15. 15. Κύριες Εφαρµογές• Tο Internet συχνά συγχέεται µε τις εφαρµογές που δουλεύουν επί του Internet.• Τέτοιες δηµοφιλείς εφαρµογές είναι οι: – E-Mail – News – Telnet – File Transfer Protocol (FTP) – Internet Relay Chat (IRC) – The World Wide Web – Rich Content Applications – Web 2.0 – Collaborative Knowledge
  16. 16. Εφαρµογές για Internet – File Transfer Protocol (FTP )• Το FTP είναι ένα εργαλείο βασισµένο στο Internet για να µεταφέρουµε αρχεία από έναν Η/Υ σε άλλον.• Πρόσβαση µε ειδικό λογισµικό FTP ή Web browser – π.χ. ftp://lito.samos.aegean.gr/ username: samos/userid password: xxxxxxxx• Τα πανεπιστήµια και οι εταιρείες λογισµικού χρησιµοποιούν FTP servers για να παρέχουν σε επισκέπτες πρόσβαση σε δεδοµένα (ανώνυµο ftp για να αποφεύγεται η ανάγκη για λογαριασµούς).• Στην πιο ανεπεξέργαστη µορφή του υποστηρίζει εντολές βασισµένες σε κείµενο.
  17. 17. Εφαρµογές για Internet – Internet Relay Chat ( IRC )• Το Internet Relay Chat (IRC) είναι µια υπηρεσία που επιτρέπει σε χρήστες να επικοινωνούν σε πραγµατικό χρόνο τυπώνοντας κείµενο σε ένα ειδικό παράθυρο.• Όπως µε τη news υπάρχουν εκατοντάδες IRC ‘‘καναλιών’’, το καθένα αφιερωµένο σε ένα θέµα ή οµάδα χρηστών.• Υπάρχουν ειδικά λογισµικά IRC, αλλά πολλά chatrooms είναι εγκατεστηµένα σε τοποθεσίες του Web (Web sites) δίνοντας τη δυνατότητα στους επισκέπτες να συζητούν απευθείας µέσω του παράθυρου του browser τους.
  18. 18. Εφαρµογές για Internet – The World Wide Web ( WWW)• Εµφανίζεται το 1993 και «απογειώνει» το Internet• Προέρχεται από ένα εσωτερικό σύστηµα διαχείρισης εγγράφων που αναπτύχθηκε από τον Tim Berners-Lee για συναδέλφους του φυσικούς στο CERN (Ελβετία). Πρωτοµιλάει για το www το 1990.• Αποτελεί σύνθεση τριών τεχνολογιών: – ∆ίκτυα Η/Υ – ∆ιαχείριση εγγράφων / πληροφορίας – Λογισµικό γραφικής διεπαφής µε χρήστες (graphical user interface)• Το WWW υποστηρίζει έγγραφα υπερκειµένου (hypertext documents) και επιτρέπει στους χρήστες να βλέπουν και να κάνουν πλοήγηση σε διαφορετικούς τύπους δεδοµένων.• Μέσο επικοινωνίας όχι διαφορετικό από τους παρόµοιους πρόγονους του (ραδιόφωνο, τηλεόραση, ...). Όµως ο καθένας µπορεί να γράψει µια ιστοσελίδα (Web page) και να την κάνει διαθέσιµη σε κοινή θέα.
  19. 19. Άλλες χρήσεις• Σήµερα: – e-Banking – Επικοινωνίες (π.χ. e-mail, chat, …) – Προσοµοίωση (simulation) – ∆ιασκέδαση – Ενηµέρωση – Εκπαίδευση• Αύριο: – Ηλεκτρονική Ψήφος – Τηλε-εργασία – Εικονικές Περιηγήσεις
  20. 20. Ο Η/Υ NeXT στον οποίο «έτρεξε» ο πρώτος web server και browser στο CERN
  21. 21. Και η οθόνη του…
  22. 22. Υπερκείµενο ( HyperText )• Το Web είναι βασισµένο στην έννοια του υπερκειµένου - ένας µηχανισµός όπου η πληροφορία είναι κατανεµηµένη σε πολλές σελίδες και δια-συνδεδεµένη. Επιτρέπει την πλοήγηση ανάµεσα σε πληροφορίες µε µη γραµµικό τρόπο• Το 1990 κυκλοφόρησε ο πρώτος Web browser, βασισµένος σε κείµενο και ικανός να ακολουθεί βασισµένους σε κείµενο υπερσυνδέσµους. Η ανάγκη υποστήριξης γραφικών οδήγησε στον πρώτο Web browser γραφικών – Mosaic – τον πρόγονο του Netscape.• Μια τυπική web σελίδα σήµερα υποστηρίζει κείµενο, πίνακες, πλαίσια, φόρµες, ήχο, βίντεο, ...
  23. 23. Υπερκειµενική Ονοµατοδοσία (URI) Uniform Resource Identifier Uniform Resource Locator Uniform Resource Name
  24. 24. Υπερκειµενική Ονοµατοδοσία (URI) - Παράδειγµα
  25. 25. Υπερκειµενική Ονοµατοδοσία (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&qid=1255874240&sr=1-1 Πρόσβαση Ταυτότητα
  26. 26. Υπερκειµενική Ονοµατοδοσία (URI) – Παράδειγµα σε ∆ίκτυαΤαυτότητα Βιβλίου:urn:ISBN-13: 978-0131752429Πρόσβαση:ftp://147.102.16.12/Books/Internet_and_Web/Deitel_Web_how_to_program.pdf Πρόσβαση Ταυτότητα
  27. 27. Υπερκειµενική Ονοµατοδοσία (URI) – Παράδειγµα local file systemΤαυτότητα Βιβλίου:urn:ISBN-13: 978-0131752429Πρόσβαση:file:///home/username/Deitel_Web_how_to_program.pdf Πρόσβαση Ταυτότητα
  28. 28. Αναζήτηση Πληροφορίας• Το Web είναι τώρα µια τεράστια πηγή πληροφορίας και δεδοµένων - Πως µπορεί κανείς να ψάξει αυτή την πελώρια αποθήκη για τη συγκεκριµένη πληροφορία που χρειάζεται;• Xρησιµοποιoύνται οι Μηχανές Αναζήτησης (search engines): Google, Altavista, InfoSeek, …• Αναζητήσεις µε λέξεις κλειδιά (keywords) και Boolean λογική• Επιστροφή αποτελεσµάτων (σελίδες που περιέχουν τα keywords) µε συνδέσµους προς τις αρχικές θέσεις των εγγράφων.• Οι βάσεις δεδοµένων των µηχανών αναζήτησης είναι κτισµένες µε αυτοµατοποιηµένα bots or spiders - λογισµικό που ψαρεύει στο Web διαβάζοντας και ανακτώντας την πληροφορία που χρειάζεται να προσθέσουν στη βάση δεδοµένων τους. Τα αποτελέσµατα ποικίλουν ανάλογα µε τη µηχανή αναζήτησης.• Αντίστοιχα bots χρησιµοποιούν και οι spammers για να «ψαρεύουν» email διευθύνσεις• Κάποιες µετα-µηχανές αναζήτησης (MetaCrowler, OneSeek) κάνουν παράλληλες αναζητήσεις χρησιµοποιώντας διαφορετικές µηχανές αναζήτησης.
  29. 29. Τι κάνει ένας πελάτης ( web client )• Αφού συνδεθεί, ο χρήστης προσπελαύνει το Web µέσω λογισµικού που λέγεται browser (π.χ. Netscape, Internet Explorer…, Mozilla Firefox).• Οι browsers εντοπίζουν και εµφανίζουν πληροφορία από το Web.• Η επικοινωνία γίνεται µέσω µιας συµφωνηµένης γλώσσας µεταφοράς ή πρωτοκόλλου, π.χ. HTTP (HyperText Transfer Protocol).• Ο χρήστης ζητάει µια ιστοσελίδα µέσω του browser ο οποίος το κοινοποιεί στον εξυπηρετητή.• Ο browser περιµένει να µεταφερθεί η ιστοσελίδα, τυπικά ένα αρχείο κειµένου που περιέχει οδηγίες σε HTML.• Τα περίπλοκα γραφικά και η µορφοποίηση που βρίσκει κανείς στις ιστοσελίδες είναι αποτέλεσµα από τον client browser που ανταποδίδει την σελίδα στη µορφοποίηση που ήταν καθορισµένη στο αρχείο.• Οι εικόνες και γραφικά δεν αποτελούν µέρος µιας HTML σελίδας αλλά αποστέλλονται ξεχωριστά (απλά ο browser διαβάζει την HTML σελίδα και εµφανίζει τα γραφικά βάσει των οδηγιών που περιλαµβάνονται στην HTML).
  30. 30. Τι κάνει ένας εξυπηρετητής (web server)• Η δουλειά του server είναι πιο εύκολη.• Ο server είναι λογισµικό (π.χ. Apache Server ή Microsoft Internet Information Server) που τρέχει σ’ έναν υπολογιστή και αποκρίνεται στις αιτήσεις του client για ιστοσελίδες• Οι ιστοσελίδες υπάρχουν στο τοπικό του σύστηµα αρχείων.• Ο server ανακτά και διαβιβάζει τα αρχεία στον client
  31. 31. Πλοήγηση στο Web• Για να προσπελάσουµε µια ιστοσελίδα, πρέπει να καθοριστεί στον browser η ακριβής της διεύθυνση, πληκτρολογώντας την, ή κάνοντας κλικ σ’ ένα σύνδεσµο υπερκειµένου.• Αυτή η διεύθυνση είναι o οµοιόµορφος εντοπιστής πόρων* (Uniform Resource Locator - URL).• Η διεύθυνση URL περιέχει όλη την αναγκαία πληροφορία για τη µονοσήµαντη ταυτοποίηση ενός συγκεκριµένου αρχείου στον κόσµο.http://www.lib.aegean.gr/SERVICES/online_journals/JOURNALS.htm* κατά ΕΛΟΤ
  32. 32. Ο τρόπος οργάνωσης Directory στο δίσκο του server (alias) Είδος server http://www.lib.aegean.gr/SERVICES/online_journals/JOURNALS.htmΠρωτόκολλο Όνοµα για τη περιοχής τουµεταφορά της server (DNS) Όνοµα ιστοσελίδας αρχείου ιστοσελίδας
  33. 33. Ο τρόπος οργάνωσης• Όταν αποθηκεύουµε µια ιστοσελίδα σε έναν εξυπηρετητή ιστού (web server), τότε λέµε ότι «δηµοσιεύουµε» τη σελίδα στο διαδίκτυο.• Κάθε χρήστης/ίδρυµα/οργανισµός/εταιρία που θέλει να έχει παρουσία στο web οργανώνει της πληροφορίες του δηµιουργώντας ένα σύνολο ιστοσελίδων, συνδεδεµένων µε συστηµατικό τρόπο και ιεραρχική οργάνωση.• Το σύνολο αυτών των ιστοσελίδων αποτελεί την τοποθεσία (web site).
  34. 34. Εξυπηρετητές παγκόσµιου ιστού (Web servers)• Οι web servers λειτουργούν ως χώροι αποθήκευσης ιστοσελίδων. Αποτελούνται από: – Υλικό (PC, workstation) – Λειτουργικό σύστηµα (Windows NT, 2000, XP, Unix) Web – Λογισµικό web server: Apache (60% της αγοράς, open-source), Server IIS (τρέχει σε Windows)• Στον ίδιο Η/Υ όπου τρέχει ο web Internet server µπορούν να τρέχουν κι άλλοι servers (services)• Οι web servers «ακούνε» σε µία συγκεκριµένη πόρτα (port 80) περιµένοντας αιτήσεις από clients (browsers) Browser Browser Browser
  35. 35. Μοντέλο 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 DNS server Ανάκτηση HTTP αρχείων Αίτηση Web Web Web server Internet browser server filesystem HTTP Απόκριση
  36. 36. «Συνοµιλία» web client (browser) – web server Πιο αναλυτικά…• Τι συµβαίνει από τη στιγµή που πληκτρολογήσουµε τη διεύθυνση µιας τοποθεσίας: 1. O browser απευθύνεται στον DNS server που εξετάζοντας τη URL εντοπίζει την IP διεύθυνση του web server στον οποίο απευθύνεται η αίτηση 2. Ο browser στέλνει το αίτηµα για αποστολή της ιστοσελίδας στον web server 3. Το αίτηµα φτάνει στον web server που αναζητά και ανακτά την αιτούµενη σελίδα από τον τοπικό του δίσκο 4. Η ιστοσελίδα αποστέλλεται (µέσω HTTP)
  37. 37. «Συνοµιλία» web client (browser) – web server (II)• Τι συµβαίνει από τη στιγµή που πληκτρολογήσουµε τη διεύθυνση µιας τοποθεσίας (συνέχεια): 5. Ο browser λαµβάνει την ιστοσελίδα (HTML αρχείο), διαβάζει τις οδηγίες του HTML κώδικα και σχεδιάζει το περιεχόµενο αντίστοιχα 6. Αν η ιστοσελίδα περιέχει φωτογραφίες, αυτές στέλνονται ως ξεχωριστά αρχεία από τον web server στον browser. 7. To ίσιο συµβαίνει στην περίπτωση που η σελίδα «περιλαµβάνει» και applets 8. Αν ο HTML κώδικας έχει και ενσωµατωµένο κώδικα σεναρίου (γραµµένο σε κάποια script γλώσσα, π.χ. Javascript), αυτός εκτελείται από τον browser.
  38. 38. HTTP• Το πρωτόκολλο που χρησιµοποιείται στο www• Καθορίζει τη µορφοποίηση των µηνυµάτων (πακέτων) κατά τη µετάδοσή τους και τις ενέργειες που πρέπει να ακολουθήσουν οι web servers και οι web clients (browsers) ώστε να ανταποκριθούν στις διάφορες εντολές• π.χ., όταν εισάγουµε µια URL σε έναν browser, ουσιαστικά στέλνεται µια εντολή µέσω HTTP σε ένα αποµακρυσµένο web server κατευθύνοντάς τον να ανακτήσει και να αποστείλει µια συγκεκριµένη ιστοσελίδα (HTML αρχείο)• To HTTP είναι «αµνήµων» (stateless system): για την ολοκλήρωση µιας αποστολής (π.χ. ιστοσελίδα µε κείµενο και εικόνες) απαιτούνται πολλαπλές συνδέσεις (αιτήσεις/αποκρίσεις). Έτσι αυξάνεται η κλιµάκωση (scalability) καθώς εξυπηρετούνται ταυτόχρονα πολλοί clients αλλά µειώνεται η ταχύτητα.
  39. 39. HTTP
  40. 40. HTTP GET/REQUEST methods www.example.com/index.html Client request Server response [Κενή γραµµή][content][…]
  41. 41. HTTP GET/REQUEST methods List of HTTP status codes1xx Informational2xx Success (200 OK, 202 Accepted/Not completed, 206 Partial Content)3xx Redirection (302 Found, 303 See other {redirect}, 305 Use proxy)4xx Client Error (402 Payment required, 403 Forbidden, 404 Not Found, 408 Timeout)5xx Server Error (500 Internal Server Error, 502 Bad Gateway, 503 Service Unavailable)
  42. 42. proxy servers Ένας proxy server είναι ένας µεσάζων µεταξύ ενός client και ενός άλλου server (origin server). για τον client, ο proxy δρα ως server. για τον server (origin), ο proxy δρα ως client. HTTP request HTTP request OriginClient Proxy Server HTTP response HTTP response
  43. 43. proxy servers• ∆ιεκπεραιώνουν χρήσιµες λειτουργίες όπως αιτήσεις και απαντήσεις – Π.χ.: Caching, logging, ασφάλεια Client Request foo.html A foo.html Request foo.html Proxy Origin cache foo.html Server Request foo.html Check Slower more Etag expensive Client foo.html global network B Fast inexpensive local network
  44. 44. Προγραµµατισµός στονπαγκόσµιο ιστό από την πλευρά του πελάτη(client-side web programming)
  45. 45. Client Side• Tα ενεργά στοιχεία (κώδικας) «κατεβαίνουν» στο web browser µαζί µε τη στατική πληροφορία (HTML)• O Browser πρέπει να µπορεί να εντοπίσει και να εκτελέσει τα ενεργά στοιχεία – προγράµµατα• ∆ύο κατηγορίες τεχνολογιών: 1. Ο κώδικας είναι προ-µεταγλωττισµένος, ο browser τον «ερµηνεύει» (εκτελεί), π.χ. Java Applets 2. Κώδικας σεναρίου (script), ο browser τον επεξεργάζεται και αν είναι συντακτικά σωστός τον εκτελεί, π.χ. Javascript, VBscript) HTML XHTML HTTP (CSS Request JavaScript WWW VbScript runtime WWW Browser environment) Server JVM (J Applets) / HTTP Active X Response
  46. 46. Client Side: Καταλληλότητα, Πλεονεκτήµατα, Μειονεκτήµατα• Κατάλληλη τεχνολογία όταν: – Ελέγχεται η είσοδος του χρήστη (form validation) – Απαιτούνται πολύπλοκες λειτουργίες στον πελάτη (πχ. διάδραση)• Πλεονεκτήµατα: – Ταχύτερες λόγω τοπικής εκτέλεσης – ∆υνατότητα εκτέλεσης χωρίς συνεχή σύνδεση server/client – ∆υνατότητες, ευελιξία, ευχρηστία και καλαισθησία ιστοσελίδων – Οικονοµία – Καµία εµπλοκή µε server• Μειονεκτήµατα: – Ο κώδικας είναι ορατός – ∆εν µπορεί να έχει πρόσβαση στο τοπικό file system – ∆εν τρέχουν σε όλους τους clients (browsers)
  47. 47. 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
  48. 48. Java Applets
  49. 49. 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
  50. 50. ∆ιαδικασία εκτέλεσης Applet Web server page.html <HTML> Hello!!! <APPLET code=“welcome.class"> </APPLET> An applet is running above! </BODY> 1 </HTML>Web browserHTML κώδικας welcome.class Κενός χώρος $%@#$$#@bgdb(εδώ θα εµφανιστεί 234#$%#%^#^& το Αpplet) 4$%#%pgb$f#@$ 2 23%^^565^&&m(!@#$6432HTML κώδικας
  51. 51. Προγραµµατισµός στονπαγκόσµιο ιστό από την πλευρά του εξυπηρέτη(server-side web programming)
  52. 52. Server-Side programming HTML HTTP Request WWW Server (+Παράµετρο) DHTML Επεξεργασία Βάση (CSS δυναµικών ∆εδοµένωνWWW JavaScript σελίδωνBrowser VbScript runtime (ASP, JSP, environment) PHP, Servlets) HTTP Response: Application HTML ∆υναµική Servers JVM (J Applets) / Active X
  53. 53. Αλληλεπίδραση browser-web server µε χρήση τεχνολογίας server side Web server process_grade.php 3. O server λαµβάνει την <html> αίτηση και ζητάει την εκτέλεση των ενεργών <body> στοιχείων της σελίδας <?php process_grade.php από την PHP µηχανή if ($grade >= 5) echo "You have passed!“ 2. O browser στέλνει την παράµετρο $grade (=7) else echo "You have failed"; και ζητάει την αποστολή ?> 1. O χρήστης της σελίδας συµπληρώνει τη process_grade.php </body> φόρµα και πατάειτο πλήκτρο Submit </html> 4. Η PHP µηχανή PHP εκτελεί τον engine κώδικα και Web browser επιστρέφει 5. O server «καθαρό» HTML επιστρέφει τον <html> HTML κώδικα στον <body> browser που τον εµφανίζει You have passed!!! </body> </html>
  54. 54. Server Side: Καταλληλότητα, Πλεονεκτήµατα, Μειονεκτήµατα• Καταλληλότητα: – ∆υναµική / Παραµετρική εµφάνιση περιεχοµένου – Απαραίτητο όταν απαιτείται επικοινωνία (αλληλεπίδραση) µε τον Server – ∆υνατότητα ελέγχου των χρηστών π.χ. µε µετρητές επισκέψεων (hit counters), ελεγχόµενη πρόσβαση σε κάποιες σελίδες• Πλεονεκτήµατα: – Η επεξεργασία µεταφέρεται στο server, χρησιµοποιείται η ισχύς του server – O κώδικας είναι κρυφός – Η εκτέλεση του κώδικα είναι ανεξάρτητη του browser: στέλνεται “καθαρό” HTML που εµφανίζεται πανοµοιότυπο σε κάθε browser – Η µοναδική λύση για πρόσβαση στο file system του server• Μειονεκτήµατα: – Χρησιµοποιεί πολύτιµη επεξεργαστική ισχύ του server. – Κλιµάκωση (scalability)
  55. 55. Server Side: ΤεχνολογίεςΤεχνολογία Server ΠλεονεκτήµαταActive Server Pages (.asp) MS IIS (Internet Σχετικά εύκολο στη χρήση, καλή Information Server) ενσωµάτωση/ ολοκλήρωση (integration), καλή υποστήριξη (support) από MicrosoftJava Server Pages (.jsp) Οποιοσδήποτε web Κλιµάκωση, αξιοπιστία serverPHP (.php) Apache (open source), ∆ωρεάν, αξιοπιστία, εύκολη στη IIS χρήσηJava Servlets Οποιοσδήποτε web Ολοκλήρωση, αξιοπιστία server http://en.wikipedia.org/wiki/Server-side_scripting
  56. 56. References• Αναγνωστόπουλος Ιωάννης, Τεχνολογίες ∆ιαδικτύου, Πανεπιστήµιο Αιγαίου•Γαβαλάς ∆αµιανός, Τεχνολογίες Παγκόσµιου Ιστού, Πανεπιστήµιο Αιγαίου• Αναγνωστόπουλος Ιωάννης, Προγραµµατισµός στο Παγκόσµιο Ιστό,Πανεπιστήµιο Αιγαίου

×