WEBVTT 00:00:03.280 --> 00:00:06.319 Το Διαδίκτυο: HTTP και HTML 00:00:07.761 --> 00:00:12.132 Είμαι η Τζασμίν και είμαι επικεφαλής προγραμμάτων στην ομάδα δημιουργίας του XBOX ONE. 00:00:13.640 --> 00:00:16.414 Μια από τις σπουδαιότερες λειτουργίες που προσφέρουμε είναι το XBOX Live. 00:00:16.811 --> 00:00:23.412 Είναι μια διαδικτυακή υπηρεσία που διασυνδέει παίκτες από όλο τον κόσμο μέσω ίντερνετ. 00:00:23.745 --> 00:00:28.127 Αυτό δεν είναι καθόλου εύκολο και υπάρχουν πολλά πράγματα που συμβαίνουν στο παρασκήνιο. 00:00:29.727 --> 00:00:33.543 Το διαδίκτυο αλλάζει τελείως το πώς οι άνθρωποι αλληλεπιδρούν και επικοινωνούν. 00:00:34.073 --> 00:00:35.176 Όμως πώς λειτουργεί; 00:00:35.842 --> 00:00:39.818 Πώς υπολογιστές σε όλη τη γη επικοινωνούν μεταξύ τους; 00:00:41.182 --> 00:00:42.567 Ας σκεφτούμε την πλοήγηση στο ίντερνετ. 00:00:43.556 --> 00:00:48.788 Πρώτα ανοίγουμε έναν φυλλομετρητή. Είναι η εφαρμογή για το άνοιγμα των ιστοσελίδων. 00:00:49.332 --> 00:00:58.202 Μετά, πληκτρολογούμε τη διεύθυνση (ή URL) της ιστοσελίδας που θέλουμε να επισκεφθούμε π.χ. tumblr.com. 00:01:04.275 --> 00:01:06.429 Γεια, είμαι ο Ντέιβιντ Καρπ, ιδρυτής τουΤumblr. 00:01:06.673 --> 00:01:10.969 Σήμερα θα μιλήσουμε για το πως λειτουργούν οι φυλλομετρητές που χρησιμοποιούμε καθημερινά. 00:01:11.755 --> 00:01:17.064 Ίσως να έχετε αναρωτηθεί τι πραγματικά συμβαίνει όταν πληκτρολογείτε μια διεύθυνση και πατάτε enter. 00:01:17.357 --> 00:01:19.428 Και πραγματικά είναι σχεδόν τόσο τρελό όσο φαντάζεστε. 00:01:19.508 --> 00:01:24.212 Εκείνη την στιγμή, ο υπολογιστής σας αρχίζει να μιλάει με έναν άλλον υπολογιστή που ονομάζεται εξυπηρετητής 00:01:24.629 --> 00:01:26.866 που συνήθως είναι χιλιάδες χιλιόμετρα μακριά. 00:01:27.288 --> 00:01:31.441 Και σε χιλιοστά του δευτερολέπτου ο υπολογιστής σας ρωτάει τον εξυπηρετητή για μια ιστοσελίδα, 00:01:31.857 --> 00:01:40.634 και ο εξυπηρετητής του απαντάει σε μια γλώσσα που λέγεται HTTP (HyperText Transfer Protocol) 00:01:40.967 --> 00:01:45.490 και είναι η γλώσσα που χρησιμοποιούν οι υπολογιστές για να ζητήσουν ένα αρχείο από έναν άλλο υπολογιστή. 00:01:45.848 --> 00:01:53.117 Και είναι πραγματικά αρκετά κατανοητή. Αν ακούγατε τη συνομιλία μεταξύ του υπολογιστή και του εξυπηρετητή, 00:01:53.237 --> 00:01:55.671 θα διαπιστώνατε ότι είναι κυρίως μια σειρά από αιτήματα "GET" (λαμβάνω). 00:01:55.873 --> 00:02:00.245 Δηλαδή απλά η λέξη "GET" και το όνομα του αρχείου που ζητάτε. 00:02:00.377 --> 00:02:03.310 Άρα, αν προσπαθήσετε να συνδεθείτε στο Tumblr για να ανοίξετε την αρχική σελίδα μας 00:02:03.562 --> 00:02:09.993 ουσιαστικά στέλνετε ένα αίτημα GET /login στον εξυπηρετητή Tumblr. 00:02:10.445 --> 00:02:16.716 Αυτό του λέει ότι ζητάτε όλον τον κώδικα HTML για την αρχική σελίδα του Tumblr. 00:02:18.098 --> 00:02:25.941 HTML σημαίνει Hypertext Markup Language είναι δηλαδή η γλώσσα που λέει σε έναν φυλλομετρητή πώς μοιάζει η ιστοσελίδα. 00:02:26.470 --> 00:02:30.050 Αν σκεφτούμε για παράδειγμα τη Βικιπαίδεια, η οποία είναι στην ουσία μόνο ένα μεγάλο απλό έγγραφο, 00:02:30.650 --> 00:02:36.372 η HTML είναι η γλώσσα που χρησιμοποιούμε για να κάνουμε τον τίτλο μεγάλο και έντονο, να ορίσουμε γραμματοσειρά, 00:02:37.216 --> 00:02:43.430 να φτιάξουμε υπερσυνδέσμους προς άλλες σελίδες, το να κάνουμε κάποια γράμματα έντονα ή πλάγια, 00:02:43.967 --> 00:02:47.624 να τοποθετήσουμε μια εικόνα στην μέση της σελίδας, να την ευθυγραμμίσουμε δεξιά ή αριστερά. 00:02:48.911 --> 00:02:52.532 Το κείμενο μιας ιστοσελίδας συμπεριλαμβάνεται απευθείας στην HTML, 00:02:52.757 --> 00:02:59.299 όμως άλλα τμήματα όπως εικόνες ή βίντεο είναι ξεχωριστά αρχεία με δική τους URL που πρέπει να ζητηθούν. 00:02:59.929 --> 00:03:05.901 Ο φυλλομετρητής στέλνει ξεχωριστά αιτήματα HTTP για καθένα από αυτά και τα εμφανίζει μόλις τα λάβει. 00:03:07.831 --> 00:03:13.522 Αν μια σελίδα έχει πολλές διαφορετικές εικόνες, η κάθε μια χρειάζεται ένα ξεχωριστό αίτημα HTTP 00:03:13.712 --> 00:03:15.543 και η σελίδα φορτώνει πιο αργά. 00:03:18.316 --> 00:03:23.207 Όταν περιηγείστε στο διαδίκτυο, δεν αιτείστε μόνο σελίδες με αιτήματα GET. 00:03:23.569 --> 00:03:28.693 Πολλές φορές στέλνετε πληροφορίες, όπως όταν συμπληρώνετε μια φόρμα ή πληκτρολογείτε ένα ερώτημα αναζήτησης. 00:03:28.986 --> 00:03:36.114 Ο φυλλομετρητής στέλνει αυτές τις πληροφορίες σε απλό κείμενο στον εξυπηρετητή χρησιμοποιώντας ένα αίτημα HTTP POST. 00:03:36.414 --> 00:03:44.265 Όταν για παράδειγμα συνδέεστε στο Tumblr, πρώτα στέλνετε ένα αίτημα POST στην αρχική σελίδα του. 00:03:44.512 --> 00:03:48.680 Το αίτημα μεταφέρει κάποια δεδομένα μαζί του, δηλαδή την ηλεκτρονική σας διεύθυνση και τον κωδικό σας. 00:03:49.096 --> 00:03:50.685 Αυτό πηγαίνει στον εξυπηρετητή του Tumblr. 00:03:50.805 --> 00:03:53.457 Ο εξυπηρετητής του Tumblr καταλαβαίνει ότι είστε π.χ. ο Ντέιβιντ. 00:03:54.303 --> 00:03:58.499 Στέλνει τότε μια ιστοσελίδα πίσω στον φυλλομετρητή σας που λέει "Επιτυχία! Συνδέθηκε ο Ντέηβιντ." 00:03:58.973 --> 00:04:07.000 Αλλά μαζί με αυτήν, επισυνάπτει ένα μικροσκοπικό αόρατο cookie δεδομένων που ο φυλλομετρητής σας βλέπει και αποθηκεύει. 00:04:07.134 --> 00:04:10.780 Και είναι πολύ σημαντικό γιατί είναι πραγματικά ο μόνος τρόπος που έχει μια ιστοσελίδα για να θυμάται ποιος είστε. 00:04:11.951 --> 00:04:18.291 Τα δεδομένα που περιέχει ουσιαστικά αυτό το cookie είναι ο αριθμός ταυτοποίησής σας για το Tumblr. 00:04:18.551 --> 00:04:22.969 Ο φυλλομετρητής σας θυμάται αυτόν τον αριθμό και την επόμενη φορά που κάνετε ανανέωση της σελίδας Tumblr 00:04:23.081 --> 00:04:27.990 ή πηγαίνετε στο Tumblr.com προσαρτά αυτόματα αυτόν τον αριθμό ταυτότητας 00:04:28.150 --> 00:04:30.600 στο αίτημα που στέλνεται από αυτόν προς τον εξυπηρετητή του Tumblr. 00:04:30.670 --> 00:04:35.970 Ο εξυπηρετητής του Tumblr βλέπει το αίτημα που προέρχεται από τον φυλλομετρητή σας μαζί με τον αριθμό ταυτότητας και ξέρει ότι: 00:04:36.163 --> 00:04:38.448 "Αυτό είναι ένα αίτημα από τον Ντέιβιντ". 00:04:40.398 --> 00:04:42.948 Όμως το διαδίκτυο είναι τελείως ανοιχτό. 00:04:43.160 --> 00:04:47.737 Όλες οι συνδέσεις του είναι κοινές και οι πληροφορίες στέλνονται σε απλό κείμενο. 00:04:47.983 --> 00:04:54.054 Αυτό δίνει τη δυνατότητα σε χάκερς να κατασκοπεύσουν προσωπικές πληροφορίες που στέλνετε μέσω διαδικτύου. 00:04:54.993 --> 00:05:00.782 Οι ασφαλείς ιστότοποι το αποτρέπουν αυτό, ζητώντας από τον φυλλομετρητή να επικοινωνεί σε ασφαλές κανάλι 00:05:00.997 --> 00:05:06.909 με την χρήση του πιστοποιητικού ασφαλείας SSL (Secure Sockets Layer) και του μεταγενέστερου TLS (Transport Layer Security). 00:05:07.323 --> 00:05:13.769 Μπορείτε να δείτε το SSL και το TLS σαν ένα στρώμα ασφαλείας τυλιγμένο γύρω από τις επικοινωνίες σας 00:05:13.984 --> 00:05:16.505 για να τις προστατεύουν από το κατασκοπεία ή παρεμβάσεις. 00:05:17.193 --> 00:05:22.935 Το SSL και το TLS είναι ενεργά όταν βλέπετε το μικρό λουκέτο που εμφανίζεται στη γραμμή διεύθυνσης του φυλλομετρητή σας, 00:05:23.143 --> 00:05:31.121 δίπλα στο HTTPS. Τα πρωτόκολλα HTTPS εξασφαλίζουν ότι τα αιτήματα HTTP που κάνετε είναι ασφαλή και προστατευμένα. 00:05:32.197 --> 00:05:38.518 Όταν ένας ιστότοπος ζητά από τον φυλλομετρητή σας να μιλήσουν με ασφαλή σύνδεση, πρώτα παρέχει ένα ψηφιακό πιστοποιητικό. 00:05:38.944 --> 00:05:43.554 Αυτό είναι σαν μια επίσημη ταυτότητα που αποδεικνύει ότι είναι όντως η αυθεντική ιστοσελίδα που ζητήσατε. 00:05:44.202 --> 00:05:49.805 Τα πιστοποιητικά ασφαλείας εκδίδονται από αρχές πιστοποίησης, έμπιστες υπηρεσίες που επαληθεύουν 00:05:49.854 --> 00:05:53.261 την ταυτότητα των ιστοσελίδων και εκδίδουν πιστοποιητικά για αυτές. 00:05:53.674 --> 00:05:56.717 Όπως ακριβώς η κυβέρνηση εκδίδει ταυτότητες ή διαβατήρια. 00:05:57.380 --> 00:06:04.065 Αν ένας ιστότοπος προσπαθήσει να ξεκινήσει μια ασφαλή σύνδεση χωρίς ψηφιακό πιστοποιητικό, ο φυλλομετρητής θα σας ειδοποιήσει. 00:06:07.187 --> 00:06:11.965 Αυτά είναι τα βασικά της περιήγησης στον ιστό! Της πλευράς του διαδικτύου που βλέπουμε κάθε μέρα! 00:06:12.371 --> 00:06:18.859 Περιληπτικά θα λέγαμε ότι το HTTP και οι DNS διαχειρίζονται την αποστολή και λήψη HTML, 00:06:19.111 --> 00:06:21.427 αρχείων πολυμέσων, και οτιδήποτε άλλο στο ίντερνετ. 00:06:21.918 --> 00:06:27.142 Αυτό που το καθιστά δυνατό στο παρασκήνιο είναι το TCP/IP και τα δίκτυα δρομολογητών (router) 00:06:27.369 --> 00:06:31.037 που χωρίζουν και μεταφέρουν τις πληροφορίες σε μικρά πακέτα. 00:06:31.689 --> 00:06:36.486 Τα πακέτα αυτά αποτελούνται από δυαδικά ψηφία, ακολουθίες από 1 και 0 00:06:36.611 --> 00:06:41.742 που στέλνονται μέσω ηλεκτρικών καλωδίων, οπτικής ίνας και ασύρματων δικτύων. 00:06:42.589 --> 00:06:46.040 Ευτυχώς, μόλις μάθουμε πώς λειτουργεί ένα στρώμα του διαδικτύου, 00:06:46.248 --> 00:06:49.410 μπορούμε να βασιζόμαστε σε αυτό χωρίς να χρειάζεται να θυμόμαστε όλες τις λεπτομέρειες. 00:06:49.802 --> 00:06:52.580 Και μπορούμε να έχουμε εμπιστοσύνη ότι όλα τα στρώματα θα δουλεύουν μαζί 00:06:52.749 --> 00:06:56.842 για να παραδώσουν επιτυχώς τις πληροφορίες με αξιοπιστία.