Θέματα Προγραμματισμού Διαδικτύου Εισαγωγή - Πρωτόκολλα

Σχετικά έγγραφα
Διαδικτυακά Πολυμέσα και Γραφικά

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Εισαγωγή στις ΤΠΕ ΙΙ Γιάννης Βρέλλης ΠΤΔΕ-Πανεπιστήμιο Ιωαννίνων. World Wide Web. Παγκόσμιος Ιστός

Τεχνολογίες ιαδικτύου

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

Κεφάλαιο 9: Διαδίκτυο, Web 2.0 και Web X.0. Εφαρμογές Πληροφορικής Κεφ. 9 Καραμαούνας Πολύκαρπος 1

Διάλεξη 7 η - Networks

Πρωτόκολλα Διαδικτύου

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

ΔΙΚΤΥΑ. Διδάσκοντες: Π. Αγγελάτος, Δ. Ζήνδρος Επιμέλεια διαφανειών: Π. Αγγελάτος Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή στους Υπολογιστές

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 8: Διαδίκτυο Βασικές Έννοιες

Network Address Translation (NAT)

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Internet -

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. Internet -

Βασίλειος Κοντογιάννης ΠΕ19

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Ιόνιο Πανεπιστήµιο. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα Θ. Υπηρεσίες Internet. ρ. Ε. Μάγκος

Τεχνολογίες Διαδικτύου

Εισαγωγή στην Πληροφορική

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος

Δίκτυα Θεωρία

Βασικές Έννοιες Web Εφαρμογών

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Δίκτυα Θεωρία

6.2 Υπηρεσίες Διαδικτύου

1 η Διάλεξη: Εισαγωγή στο Διαδίκτυο

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

α. Το μέγιστο μήκος δεδομένων του ωφέλιμου φορτίου του πλαισίου Ethernet είναι 1500 οκτάδες. ΣΩΣΤΟ

7.2.2 Σχέση OSI και TCP/IP

Κεφάλαιο 13 Εφαρμογές Διαδικτύου

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Δίκτυα Υπολογιστών. Το επίπεδο εφαρμογής (application layer) Κ. Βασιλάκης

Περιεχόμενα. Πρόλογος... xiii

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Μάθημα 6: Αρχιτεκτονική TCP/IP

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας Βιβλιοθηκονοµίας. Μοντέλο TCP/IP. Ενότητα E. Συστήµατα Επικοινωνίας

Αλεξάνδρειο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλονίκης (ΑΤΕΙ-Θ) Τμήμα Διατροφής - Διαιτολογίας - Πληροφορική Θεωρία

Internet Τοπικό δίκτυο LAN Δίκτυο Ευρείας Περιοχής WAN Διαδίκτυο Πρόγραμμα Πλοήγησης φυλλομετρητής Πάροχοι Υπηρεσιών Internet URL HTML links

Εισαγωγή στην πληροφορική

7.4 Πρωτόκολλο UDP. 3. Στη περίπτωση που ένα μήνυμα χωράει σε ένα τμήμα, χρησιμοποιούμε το πρωτόκολλο TCP.

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Κεφάλαιο > Ε Π Α Ν Α Λ Η Ψ Η Επικοινωνιακό Υποδίκτυο / TCP / UDP. Σελ

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ 1 στα Δίκτυα Υπολογιστών

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Προγραμματισμός Ιστοσελίδων (Web Design)

Π ΤΥ Χ ΙΑ Κ Η ΕΡΓΑΣΙΑ

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

Ηλεκτρονική Επιχειρηματικότητα

To λεξικό του Internet

Εισαγωγή στο Διαδίκτυο και στην Υπηρεσία περιήγησης του Παγκόσμιου Ιστού (WWW) Επικοινωνίες Δεδομένων Μάθημα 1 ο

Κεφάλαιο 6ο ΕΠΙΠΕΔΟ ΕΦΑΡΜΟΓΗΣ. Εισαγωγή

(Blended Executive Learning)

Δίκτυα Υπολογιστών I

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

Υπολογιστές και ίκτυα Η/Υ.

Εισαγωγή στην Πληροφορική

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

Επαναληπτικές Ασκήσεις Μαθήματος

ιαδικτυακές Εφαρµογές

Ενότητα 1: HTTP, Clients και Servers. (Web, το θεμέλιο του Σημασιολογικού Ιστού)

Κεφάλαιο Πρωτόκολλα εφαρμογής Γενικές Αρχές Βασικές και προηγμένες υπηρεσίες Διαδικτύου Σελ

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 7ο ΚΕΦΑΛΑΙΟ

Δρ Παρασκευή Μεντζέλου Επίκουρος Καθηγήτρια Πληροφορικής Γενικό Τμήμα Θετικών Επιστημών

Πρωτόκολλο FTP. Από τα παλαιότερα πρωτόκολλα του ArpaNet Το FTP είναι μια τυποποίηση του TCP/IP Πρόκειται για πρωτόκολο γενικού σκοπού

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

Ειδικά Θέματα Προγραμματισμού

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 9: Διαδίκτυο και Υπηρεσίες

Αποστολή και λήψη μέσω SMARTER MAIL

Λογισµικό (Software SW) Λειτουργικά Συστήµατα και ίκτυα

Ενότητα 8. Εισαγωγή στην Πληροφορική. Internet: Τότε και Τώρα. Κεφάλαιο 8Α. Τρόπος Λειτουργίας Internet. Χειµερινό Εξάµηνο

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

ΠΑΙΔΙ INTERNET ΚΑΙ. Όλα όσα πρέπει να γνωρίζουμε για μια δημιουργική και ασφαλή χρήση του διαδικτύου ΜΑΚΗΣ ΠΑΠΑΓΕΩΡΓΙΟΥ

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Ιόνιο Πανεπιστήµιο Τµήµα Πληροφορικής Συστήµατα Επικοινωνίας. Μοντέλο TCP/IP. Ενότητα E. Πόσοι εµπλέκονται σε ένα Σύστηµα Επικοινωνίας

ΕΠΑΝΑΛΗΠΤΙΚΟ ΤΕΣΤ ΣΤΙΣ ΕΝΟΤΗΤΕΣ

Ορολογία. Access rights (Δικαιώματα πρόσβασης): Περιγραφή των δικαιωμάτων που παρέχονται για σε φακέλους και αρχεία. Bandwidth (Εύρος ζώνης):

Εργαστήριο Δικτύων Υπολογιστών

Συστήματα Πολυμέσων. Ενότητα 17: Διανομή Πολυμέσων - Πρωτόκολλα πραγματικού χρόνου. Θρασύβουλος Γ. Τσιάτσος Τμήμα Πληροφορικής

Transcript:

Θέματα Προγραμματισμού Διαδικτύου Εισαγωγή - Πρωτόκολλα Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1

Περιεχόμενα Εισαγωγή στο Διαδίκτυο Διευθύνσεις Πρωτόκολλα Παγκόσμιο Ιστός - HTTP 2

Διαδίκτυο - Πρωτόκολλα - Υπηρεσίες 3 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

Αρχιτεκτονική του Ιστού ως υπηρεσία διαδικτύου Web APIs HTML CSS Javascript Παγκόσμιος Ιστός HTTP DNS TLS UDP TCP IP Υπηρεσίες και πρωτόκολλα Διαδικτύου IP : Internet Protocol TCP: Transmission Control Protocol UDP: User Datagram Protocol TLS: Transport Layer Security DNS: Domain Name Sercvice 4 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

Internet Protocol (IP) και οι διευθύνσεις του Καθε υπολογιστής προσβάσιμος στο Ιντερνετ έχει μια διεύθυνση IP (Internet Protocol address) Στην πιο διαδεδομένη έκδοση version 4 του IP, οι διευθύνσεις ειναι 4 bytes (δηλ. 32 bit) που συνήθως τις γραφουμε ως 4 αριθμοί χωρισμένοι με τελεία π.χ. 147.95.40.60 Οι διευθύνσεις (όπως και στην καθημερινότητα μας) επιτρέπουν την εύρεση μιας "τοποθεσίας" και τη "δρομολόγηση" σε αυτήν Το πρωτόκολλο IP ορίζει πώς γινεται η μεταφορά πακέτων δεδομένων στο Διαδίκτυο, μεσω ενδιάμεσων δικτύων και υπολογιστών-κόμβων. Καθε πακέτο IP περιέχει την IP διεύθυνση του "αποστολέα" και την διεύθυνση του προορισμού. 5

Transmission Control Protocol (TCP) Τα πακέτα δεδομένων του IP μπορεί να χαθούν ή να φτάσουν με διαφορετική σειρα στον προορισμό τους. Το TCP προσφέρει αξιοπιστία, χειρισμό λαθών, και αλγορίθμους για την βελτιστοποίηση της μεταφοράς των δεδομένων. Χρησιμοποιεί την έννοια της σύνδεσης δηλ. ορίζει μηνύματα για την αρχικοποίηση του "καναλιού" επικοινωνίας πριν τη μεταδοση των δεδομένων των εφαρμογών, καθώς και μηνύματα για το "κλείσιμο" της σύνδεσης Τα πακέτα του TCP περιέχονται μεσα σε πακέτα του IP και με τη σειρά τους περιέχουν της θύρες (ports) του αποστολέα και του παραλήπτη. Ενώ οι IP διευθύνσεις προσδιορίζουν τον "υπολογιστή" από τον οποίο ξεκινάνε ή καταλήγουν τα πάκετα, οι θύρες προσδιορίζουν τις εφαρμογές (π.χ. web server) που επικοινωνούν. Έτσι π.χ. το λειτουργικό σύστημα του υπολογιστή προορισμού μπορεί να παραδώσει το πακέτο πληροφορίας στο κατάλληλο πρόγραμμα που το περιμένει. 6

UDP και DNS Η αξιόπιστη λειτουργία του TCP όμως εισάγει πολυπλοκότητα και καθυστερήσεις. Σε περιπτώσεις που η γρήγορη παράδοση της πληροφορίας (π.χ. για βίντεο και ήχο) είναι πιο σημαντική από την αξιόπιστη μπορεί να χρησιμοποιηθεί το User Datagram Protocol (UDP) Τα UDP πακέτα που ανταλλάσονται μεταξύ δυο εφαρμογών στο διαδίκτυο μπορεί να φτάσουν με λαθος σειρά και δεν υπάρχουν αναφορές παράδοσης οπότε ο αποστολέας δεν γνωρίζει αν ενα μήνυμα έφτασε στον προορισμό. Όπως για το TCP έτσι και τα πακέτα του UDP μεταδίδονται μεσα σε πακέτα IP και περιέχουν ομοίως αριθμούς θυρών Ενώ η πλειονότητα των εφαρμογών χρησιμοποιεί TCP, υπάρχει μια πολύ κρίσιμη υπηρεσία που το χρησιμοποιεί: το DNS! 7

Domain Name Service (DNS) Η Υπηρεσία Ονομάτων (DNS) του Διαδικτύου επιτρέπει την αντιστοίχιση των αριθμητικών διευθύνσεων IP σε φιλικά για τον χρήστη ονόματα Τα ονόματα είναι δομημένα σε μια ιεραρχική δομή (δένδρο) που επιτρέπει την κατανεμημένη κατασκευή και διαχείρηση τους Η σχέση μεταξύ ονομάτων και διευθύνσεων IP δεν είναι 1 προς 1. Δηλαδή σε ένα όνομα μπορεί να αντιστοιχούν πολλές διευθύνσεις IP και σε μια διεύθυνση πολλά ονόματα. By DNS_Tree.svg: Sylvain Leroux (talk)derivative work: Ggia (talk) - DNS_Tree.svg, CC BY-SA 3.0, https:// commons.wikimedia.org/w/index.php?curid=15525424 Π.χ. Το google.com έχει τις 108.177.127.102, 108.177.127.100, 108.177.127.138, 108.177.127.101, 108.177.127.113, 108.177.127.139,... 8

TLS Το Transport Layer Security (TLS) εξασφαλίζει την ασφάλεια της επικοινωνίας στο Διαδίκτυο Κρυπτογράφηση, που εξασφαλίζει την ιδιωτικότητα (privacy) Ακεραιότητα δεδομένων (δηλ. δεν μπορεί ένας ενδιάμεσος κόμβος να αλλάξει την πληροφορία που ανταλλάσεται) Αυθεντικοποίηση, δηλ. ταυτοποίηση των επικοινωνούντων μερών Χρησιμοποιείται ευρέως για να ασφαλίσει πρωτόκολλα και υπηρεσίες εφαρμογής, π.χ. HTTPS, SMTPS (email),... 9

HTTP και ο Παγκόσμιος Ιστός 10 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

Ο Παγκόσμιος Ιστός Ο Παγκόσμιος Ιστός (World Wide Web) είναι ενα παγκόσμιο σύστημα διασυνδεδεμένων εγράφων υπερκειμένου που είναι διαθέσιμα στο Ιντερνετ Τι είναι το υπερκείμενο? Ειναι το μη γραμμικο κείμενο, δηλαδή αν μπορεί ο αναγνώστης να μεταβεί από κάποιο σημείο του εγγράφου σε κάποιο άλλο (ή σε άλλο έγγραφο) χωρίς να χρειαστεί να προσπελάσει σειριακά ό,τι βρίσκεται ενδιάμεσα Επομένως, το χαρακτηριστικό στοιχείο του υπερκειμένου είναι η ύπαρξη (υπερ)συνδέσμων (hyperlinks) 11

Ο Παγκόσμιος Ιστός: λίγη ιστορία Τη δεκαετία του 1960 ο πρόγονος του Ιντερνετ, το λεγόμενο ARPANET, δημιουργείται από το Υπουργείο Άμυνας των ΗΠΑ To 1974 δημοσιεύεται το TCP (Transmission Control Protocol) από τους Cerf και Kahn και το 1983 το TCP/IP γίνεται ο θεμέλιος λίθος του ARPANET To 1984 υλοποιείται το πρώτο Domain Name System (DNS), η υποδομή ονοματοδοσίας του Internet Το Ηλεκτρονικό Ταχυδρομείο (e-mail) και η ανταλλαγή εγγράφων (File Transfer Protocol - FTP) οι κύριες υπηρεσίες του Το 1989 ο Sir Tim Berners-Lee προτείνει ενα κατανεμημένο σύστημα υπερκειμένου στο CERN (δες επόμενο slide) και πριν τα Χριστούγεννα του 1990 υλοποιεί τον πρώτο εξυπηρετητή (server) και τον πρώτο πλοηγητή (web browser)..μαζί (επανα)εισαγει τον όρο Hypertext (υπερκείμενο) και υλοποιεί το Πρωτόκολλο Υπερκειμένου (HTTP) και την Γλώσσα Σήμανσης Υπερκειμένου (HTML) Η πρώτη τεκμηριωμένη του HTTP ειναι η 0.9 το 1991, το 1996 η έκδοση 1.0 (RFC 1945), ενώ το 1997 η έκδοση 1.1 (RFC 2068) με βελτιώσεις το 1999 (RFC 2616) Ο πρώτος ευρέως διαθέσιμος browser ήταν ο Mosaic (1993) στον οποίο βασίστηκε ο δημοφιλής Netscape Navigator (1994) Ξεκινάει ο (1ος) πόλεμος των πλοηγητών (browser war) με τη διάθεση απο την Microsoft του Internet Explorer (1995). Η Netscape χάνει και δημιουργεί το Mozilla Foundation που το 2004 διαθετει τον (ανοικτου λογισμικού) Mozilla Firefox To 1998 δημιουργείται η Google και σε λίγα χρόνια εξαφανίζει τις άλλες μηχανές αναζήτησης (Lycos, Altavista, Yahoo!) Το 2008 παρουσιάζεται ο Chrome browser από την Google Το HTTP 2 δημοσιεύεται ως RFC 7540 τον Μαίο 2015 12

Information Management: A Proposal This proposal concerns the management of general information about accelerators and experiments at CERN. It discusses the problems of loss of information about complex evolving systems and derives a solution based on a distributed hypertext system. Tim Berners-Lee, CERN March 1989 https://www.w3.org/history/1989/proposal.html 13 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

Το πρωτόκολλο HTTP 14 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

HTTP Έιναι ένα πρωτόκολλο εφαρμογής "πάνω" από τα TCP/IP Η προτυποποιημένη θύρα επικοινωνίας είναι το 80 και στην περίπτωση που χρησιμοποιείται το TLS (δηλ. για το HTTPS) είναι το 443 Τα μηνύματα που ανταλλάσονται είναι σε κείμενο που κάνει εύκολο το να δούμε τί πληροφορία ανταλλάσεται (π.χ. στο Chrome DevTools) 15

Διακομιστές και Πελάτες HTML, CSS, JS Διακομιστής GET / Πελάτης Το HTTP ακολουθεί μια λογική αίτησης - απάντησης (requestresponse) μεταξύ του πελάτη (π.χ. browser σε ενα PC) και του διακομιστή (server) Το πρόγραμμα Πελάτης ξεκινάει την επικοινωνία στέλνοντας μια αίτηση στον Διακομιστή Ο Διακομιστής απαντάει στέλνοντας την αιτούμενη πληροφορία 16

"Under the hood" Πελάτης (Browser) Διακομιστής (Web Server) Internet 17

URLs Τα Uniform Resource Locators (URLs) είναι διευθύνσεις για σελίδες στον Ιστό (web pages) Ενσωματώνουν πληροφορία για το πρωτόκολλο επικοινωνίας (http/ https), την διεύθυνση/όνομα του διακομιστή, την θύρα επικοινωνίας, το "μονοπάτι" στο συγκεκριμένο αρχείο/έγγραφο, και άλλες πληροφορίας 18

HTTP μηνύματα Όπως συνηθίζεται σε όλα τα πρωτόκολλα τα μηνύματα HTTP περιέχουν: Μια κεφαλίδα (headers), και (προαιρετικά) ένα "σώμα" (body/payload) Τα headers μηνυμάτων που στέλνουν οι πελάτες περιέχουν την "μεθοδο" (π.χ. GET) και τη διύθυνση της σελίδας, ενώ τα μηνύματα που επιστρέφει ο διακομιστής περιέχουν κωδικούς κατάστασης και άλλα μεταδεδομένα 19

20 Διαδικτυοκεντρικός Προγραμματισμός, Στέλιος Σφακιανάκης

Request GET / HTTP/1.1 Host: www.teicrete.gr Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh... DNT: 1 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate, br Accept-Language: el,en-us;q=0.9,en;q=0.8 Response HTTP/1.1 200 OK Connection: Keep-Alive Transfer-Encoding: chunked Expires: Sun, 19 Nov 1978 05:00:00 GMT Date: Thu, 18 Oct 2018 07:00:20 GMT Content-Type: text/html; charset=utf-8 Etag: "1539844751-0" Server: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.26 OpenSSL/1.0.1f X-Powered-By: PHP/5.5.9-1ubuntu4.26 X-Drupal-Cache: HIT Content-Language: el X-Frame-Options: SAMEORIGIN X-Generator: Drupal 7 (https://www.drupal.org) Cache-Control: public, max-age=600 Last-Modified: Thu, 18 Oct 2018 06:39:11 GMT Vary: Cookie,Accept-Encoding Content-Encoding: gzip 21

(Βασικές) Μέθοδοι HTTP GET: ανάκτηση σελίδας από διακομιστή HEAD: επιστροφή μονο της κεφαλίδας (header) του μηνύματος δηλ μόνο μεταδεδομένα (π.χ. μέγεθος αρχείου) χωρίς το περιεχόμενο της σελίδας/αρχείου POST: υποβολή φόρμας ή άλλων δεδομένων στον διακομιστή για δημιουργία νέας "σελίδας" PUT: υποβολή δεδομένων για την ενημέρωση σελίδας DELETE: αίτηση για κατάργηση (διαγραφή) της σελίδας στον διακομιστή 22

HTTP κώδικες κατάστασης Τα HTTP Status codes είναι αριθμοί 3 ψηφίων, από τα οποία το πρώτο προσδιορίζει την γενικη κατηγορία της απάντησης (response): 1xx : πληροφοριακά μηνύματα 2xx : Επιτυχία!! 3xx : ανακατεύθυνση σε άλλο URL 4xx: Αποτυχία, οφείλεται στον πελάτη 400: Bad request 401: Unauthorized (π.χ. λαθος κωδικός) 403: Forbidden 404: Not Found 5xx : Αποτυχία, οφείλεται στον διακομιστή 500: Internal Server Error (π.χ. ο διακομιστής δεν μπορεί να επικοινωνήσει με τη βάση δεδομένων) 23