Http - Web Services

537 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Http - Web Services

  1. 1. HyperText Transfer ProtocolΒασίλειος ΚοµιανόςΙόνιο Πανεπιστήµιο Μάρτιος 2012
  2. 2. www linkedin youtube twittereuropeana stumbleupon academia blogspot webmailgoogle facebook yahoo wikipedia wordpress
  3. 3. Προϊστορία• Vannevar Bush: MEMEX, 1945 (θεωρητική πρόταση).• Ted Nelson: hypertext, 1965 (εµφάνιση του όρου).• Douglas Engelbart: NLS, 1968.
  4. 4. Πιο πρόσφατα 1990• Tim Berners Lee• Έψαχνε ένα τρόπο να οργανώσει τη πληροφορία στο δίκτυο.• Hypertext + http + Internet = World Wide Web
  5. 5. WEB∆οµείται από έγγραφα, κυρίως HTML, τα οποίααρχικά περιείχαν:• άλλα έγγραφα,• συνδέσεις προς άλλα έγγραφα – αρχεία• πλέον υποστηρίζονται και άλλου τύπου αρχεία, εικόνα – βίντεο κτλ.Google 1998:
  6. 6. HTTP, η εξέλιξη•1991 http 0.9•1996 http 1.0•1999 έως σήµερα http 1.1Σε κάθε νεώτερη έκδοση αναφέρεται ότι θα πρέπειοι υλοποιήσεις να τηρούν συµβατότητα µε τιςπαλαιότερες εκδόσεις.
  7. 7. HTTP Client request ServerΕπίπεδοHTTP Εφαρµογής response ΕπίπεδοHTTP ΕφαρµογήςΜεταφοράς TCP Μεταφοράς TCP∆ικτύου ∆ικτύουΖεύξης δεδοµένων Ζεύξης δεδοµένωνΦυσικό µέσο Φυσικό µέσο
  8. 8. ∆υο λόγια για το TCP• Transmission Control Protocol – πρωτόκολλο ελέγχου µεταφοράς.• Αξιόπιστη µετάδοση.• Με συνδέσεις.
  9. 9. Ανταλλαγή µηνυµάτων στο httpΗ επικοινωνία µεταξύ client και server γίνεται µε ειδικάµηνύµατα στα οποία εσωκλείεται µια αίτηση (request) ήµια απάντηση (response) και η µορφή των οποίων είναιαυστηρά ορισµένη από το πρωτόκολλο.Όροι που θα δούµε παρακάτω:• request• response• resource• client• user agent• server
  10. 10. HTTP επικοινωνίαΞεκινάει µε πρωτοβουλία του client, εκκινεί µια TCPσύνδεση µε τον server και εν συνεχεία αποστέλλεισυνήθως αίτηση για λήψη αντικειµένου (resource).Για παράδειγµα: GET /index.html HTTP/1.1Ο client µπορεί επίσης να προωθήσει δεδοµένα στονserver κάνοντας χρήση της µεθόδου POST.
  11. 11. HTTP επικοινωνίαO server αποκρίνεται σε µια αίτηση συνθέτοντας ένα µήνυµατο οποίο περιλαµβάνει πληροφορίες σχετικά µε την αίτησηπου δέχτηκε και ενδεχοµένως να εσωκλείει και κάποιοαντικείµενο αν του ζητήθηκε.Οποιοδήποτε αντικείµενο µεταφέρεται µέσω http µηνυµάτωνµε µια σχετική ένδειξη ώστε ο client να προβεί στουςαπαραίτητους χειρισµούς.Σε αυτό το σηµείο µπορούµε να κατανοήσουµε και τον λόγοτης µακροβιότητας του πρωτοκόλλου παρόλο που από τηντελευταία του έκδοση o ιστός έχει αλλάξει εντυπωσιακά.
  12. 12. HTTP 0.9 - 1.0 TCP Non-Persistent Connections TCP connection no 1 request responseWeb client Web server
  13. 13. HTTP 0.9 - 1.0 TCP Non-Persistent Connections TCP connection no 1 request responseWeb client Web serverΗ σύνδεση ολοκληρώνει την επικοινωνία και τερµατίζεται.
  14. 14. HTTP 0.9 - 1.0 TCP Non-Persistent Connections TCP connection no 1 request response Web client Web server TCP connection no 2 request responseΝέα σύνδεση για κάθε αντικείµενο.
  15. 15. HTTP 0.9 - 1.0 TCP Non-Persistent Connections TCP connection no 1 request responseWeb client Web server TCP connection no 2 request response
  16. 16. HTTP 1.1 TCP Persistent Connections TCP connection request response request responseWeb client Web server request response request responseΠολλαπλά αντικείµενα διέρχονται από µια σύνδεση.
  17. 17. HTTP 1.1 TCP Persistent Connections TCP connection request response request responseWeb client Web server request response request responseΜε τη λήξη της επικοινωνίας τερµατίζεται η σύνδεση.
  18. 18. HTTP 1.1TCP Persistent Connections and Pipelining TCP connection request request requestWeb client Web server response response responseΟι αιτήσεις στέλνονται παράλληλα χωρίς να χρειάζεται ναπεριµένει για απόκριση:• Βελτίωση απόδοσης,• Καλύτερη χρήση του TCP.
  19. 19. Proxies & Caching Web client request Web Cache request response - response Web server Proxy ServerΟ Proxy αποθηκεύει τα αντικείµενα για τα οποία µεσολαβεί ώστε ανξαναζητηθούν να σταλούν άµεσα. Caching όµως µπορεί να κάνει καιο client, στην περίπτωση αυτή το αίτηµα του έχει τη συνθήκη:If-modified-since: Friday, 23 Mar 2012 12:10:36αν δεν έχει συµβεί τροποποίηση ο server (proxy ή web) δεν στέλνει τοπεριεχόµενο αλλά µόνο ένα µήνυµα που ενηµερώνει ότι δεν συνέβητροποποίηση:HTTP/1.1 304 Not Modified
  20. 20. Proxies & Caching Web client request Web Cache request 1 response - response Web server uest re q s e Proxy Server n Web client re spo 2Αν ο client 2 ζητήσει από τον proxy το ίδιο αντικείµενο µε αυτό πουζήτησε ο client 1 προηγουµένως, ο proxy ελέγχει στον server της πηγήςγια τυχόν τροποποίηση, αν δεν έχει συµβεί στέλνει το αποθηκευµένοαντίγραφο που έχει, σε αντίθετη περίπτωση λαµβάνει και προωθεί τονέο αντικείµενο.
  21. 21. Μέρος 2ο - Web ServicesWeb Services είναι µια τεχνολογία η οποία επιτρέπειτην επικοινωνία και την αλληλεπίδραση µεταξύδιαφορετικών εφαρµογών, ανεξαρτήτως πλατφόρµαςή γλώσσας προγραµµατισµού.
  22. 22. Web ServicesΣτην πραγµατικότητα πρόκειται για ένα σύνολοτεχνολογιών. Οι τεχνολογίες από τις οποίεςαποτελείται είναι:• HTTP• XML• SOAP• WSDL• UDDI
  23. 23. XML• Πρόκειται για µια γλώσσα περιγραφής η οποία δεν εξαρτάται από την πλατφόρµα.• ∆ηµιουργήθηκε µε σκοπό να διευκολύνει την ανταλλαγή δεδοµένων µεταξύ εφαρµογών που επικοινωνούν µέσω διαδικτύου.• Ένα έγγραφο XML περιέχει τα δεδοµένα αλλά και την απαραίτητη περιγραφή τους.
  24. 24. SOAPΕίναι ένα πρωτόκολλο ανταλλαγής δεδοµένων (SimpleObject Access Protocol) που χρησιµοποιείται σεκατανεµηµένα συστήµατα και στηρίζεται στηντεχνολογία XML.Τα µηνύµατα SOAP µεταφέρονται µέσω άλλωνπρωτοκόλλων του επιπέδου εφαρµογής όπως HTTP,SMTP ή FTP.
  25. 25. SOAPΤο πρωτόκολλο αποτελείται από τρία διακριτά τµήµατα:1. Αναλαµβάνει την γενική περιγραφή ενός µηνύµατος.2. Υλοποιεί κανόνες για την περιγραφή σύνθετων τύπων δεδοµένων.3. Ρυθµίζει την επικοινωνία µεταξύ των συνδιαλεγόµενων µερών.
  26. 26. WSDLΕίναι µια γλώσσα που περιγράφει εφαρµογές webservices (Web Services Description Language)βασιζόµενη στην γλώσσα XML. Ένα έγγραφο WSDLπεριέχει όλη την πληροφορία που χρειάζεται για ναγίνει χρήση εφαρµογής Web Service, από τηνδιεύθυνση της µέχρι τα δεδοµένα πουανταλλάσονται.
  27. 27. ΤΕΛΟΣ

×