1 00:00:03,280 --> 00:00:06,319 Το Διαδίκτυο: HTTP και HTML 2 00:00:07,761 --> 00:00:12,132 Είμαι η Τζασμίν και είμαι επικεφαλής προγραμμάτων στην ομάδα δημιουργίας του XBOX ONE. 3 00:00:13,640 --> 00:00:16,414 Μια από τις σπουδαιότερες λειτουργίες που προσφέρουμε είναι το XBOX Live. 4 00:00:16,811 --> 00:00:23,412 Είναι μια διαδικτυακή υπηρεσία που διασυνδέει παίκτες από όλο τον κόσμο μέσω ίντερνετ. 5 00:00:23,745 --> 00:00:28,127 Αυτό δεν είναι καθόλου εύκολο και υπάρχουν πολλά πράγματα που συμβαίνουν στο παρασκήνιο. 6 00:00:29,727 --> 00:00:33,543 Το διαδίκτυο αλλάζει τελείως το πώς οι άνθρωποι αλληλεπιδρούν και επικοινωνούν. 7 00:00:34,073 --> 00:00:35,176 Όμως πώς λειτουργεί; 8 00:00:35,842 --> 00:00:39,818 Πώς υπολογιστές σε όλη τη γη επικοινωνούν μεταξύ τους; 9 00:00:41,182 --> 00:00:42,567 Ας σκεφτούμε την πλοήγηση στο ίντερνετ. 10 00:00:43,556 --> 00:00:48,788 Πρώτα ανοίγουμε έναν φυλλομετρητή. Είναι η εφαρμογή για το άνοιγμα των ιστοσελίδων. 11 00:00:49,332 --> 00:00:58,202 Μετά, πληκτρολογούμε τη διεύθυνση (ή URL) της ιστοσελίδας που θέλουμε να επισκεφθούμε π.χ. tumblr.com. 12 00:01:04,275 --> 00:01:06,429 Γεια, είμαι ο Ντέιβιντ Καρπ, ιδρυτής τουΤumblr. 13 00:01:06,673 --> 00:01:10,969 Σήμερα θα μιλήσουμε για το πως λειτουργούν οι φυλλομετρητές που χρησιμοποιούμε καθημερινά. 14 00:01:11,755 --> 00:01:17,064 Ίσως να έχετε αναρωτηθεί τι πραγματικά συμβαίνει όταν πληκτρολογείτε μια διεύθυνση και πατάτε enter. 15 00:01:17,357 --> 00:01:19,428 Και πραγματικά είναι σχεδόν τόσο τρελό όσο φαντάζεστε. 16 00:01:19,508 --> 00:01:24,212 Εκείνη την στιγμή, ο υπολογιστής σας αρχίζει να μιλάει με έναν άλλον υπολογιστή που ονομάζεται εξυπηρετητής 17 00:01:24,629 --> 00:01:26,866 που συνήθως είναι χιλιάδες χιλιόμετρα μακριά. 18 00:01:27,288 --> 00:01:31,441 Και σε χιλιοστά του δευτερολέπτου ο υπολογιστής σας ρωτάει τον εξυπηρετητή για μια ιστοσελίδα, 19 00:01:31,857 --> 00:01:40,634 και ο εξυπηρετητής του απαντάει σε μια γλώσσα που λέγεται HTTP (HyperText Transfer Protocol) 20 00:01:40,967 --> 00:01:45,490 και είναι η γλώσσα που χρησιμοποιούν οι υπολογιστές για να ζητήσουν ένα αρχείο από έναν άλλο υπολογιστή. 21 00:01:45,848 --> 00:01:53,117 Και είναι πραγματικά αρκετά κατανοητή. Αν ακούγατε τη συνομιλία μεταξύ του υπολογιστή και του εξυπηρετητή, 22 00:01:53,237 --> 00:01:55,671 θα διαπιστώνατε ότι είναι κυρίως μια σειρά από αιτήματα "GET" (λαμβάνω). 23 00:01:55,873 --> 00:02:00,245 Δηλαδή απλά η λέξη "GET" και το όνομα του αρχείου που ζητάτε. 24 00:02:00,377 --> 00:02:03,310 Άρα, αν προσπαθήσετε να συνδεθείτε στο Tumblr για να ανοίξετε την αρχική σελίδα μας 25 00:02:03,562 --> 00:02:09,993 ουσιαστικά στέλνετε ένα αίτημα GET /login στον εξυπηρετητή Tumblr. 26 00:02:10,445 --> 00:02:16,716 Αυτό του λέει ότι ζητάτε όλον τον κώδικα HTML για την αρχική σελίδα του Tumblr. 27 00:02:18,098 --> 00:02:25,941 HTML σημαίνει Hypertext Markup Language είναι δηλαδή η γλώσσα που λέει σε έναν φυλλομετρητή πώς μοιάζει η ιστοσελίδα. 28 00:02:26,470 --> 00:02:30,050 Αν σκεφτούμε για παράδειγμα τη Βικιπαίδεια, η οποία είναι στην ουσία μόνο ένα μεγάλο απλό έγγραφο, 29 00:02:30,650 --> 00:02:36,372 η HTML είναι η γλώσσα που χρησιμοποιούμε για να κάνουμε τον τίτλο μεγάλο και έντονο, να ορίσουμε γραμματοσειρά, 30 00:02:37,216 --> 00:02:43,430 να φτιάξουμε υπερσυνδέσμους προς άλλες σελίδες, το να κάνουμε κάποια γράμματα έντονα ή πλάγια, 31 00:02:43,967 --> 00:02:47,624 να τοποθετήσουμε μια εικόνα στην μέση της σελίδας, να την ευθυγραμμίσουμε δεξιά ή αριστερά. 32 00:02:48,911 --> 00:02:52,532 Το κείμενο μιας ιστοσελίδας συμπεριλαμβάνεται απευθείας στην HTML, 33 00:02:52,757 --> 00:02:59,299 όμως άλλα τμήματα όπως εικόνες ή βίντεο είναι ξεχωριστά αρχεία με δική τους URL που πρέπει να ζητηθούν. 34 00:02:59,929 --> 00:03:05,901 Ο φυλλομετρητής στέλνει ξεχωριστά αιτήματα HTTP για καθένα από αυτά και τα εμφανίζει μόλις τα λάβει. 35 00:03:07,831 --> 00:03:13,522 Αν μια σελίδα έχει πολλές διαφορετικές εικόνες, η κάθε μια χρειάζεται ένα ξεχωριστό αίτημα HTTP 36 00:03:13,712 --> 00:03:15,543 και η σελίδα φορτώνει πιο αργά. 37 00:03:18,316 --> 00:03:23,207 Όταν περιηγείστε στο διαδίκτυο, δεν αιτείστε μόνο σελίδες με αιτήματα GET. 38 00:03:23,569 --> 00:03:28,693 Πολλές φορές στέλνετε πληροφορίες, όπως όταν συμπληρώνετε μια φόρμα ή πληκτρολογείτε ένα ερώτημα αναζήτησης. 39 00:03:28,986 --> 00:03:36,114 Ο φυλλομετρητής στέλνει αυτές τις πληροφορίες σε απλό κείμενο στον εξυπηρετητή χρησιμοποιώντας ένα αίτημα HTTP POST. 40 00:03:36,414 --> 00:03:44,265 Όταν για παράδειγμα συνδέεστε στο Tumblr, πρώτα στέλνετε ένα αίτημα POST στην αρχική σελίδα του. 41 00:03:44,512 --> 00:03:48,680 Το αίτημα μεταφέρει κάποια δεδομένα μαζί του, δηλαδή την ηλεκτρονική σας διεύθυνση και τον κωδικό σας. 42 00:03:49,096 --> 00:03:50,685 Αυτό πηγαίνει στον εξυπηρετητή του Tumblr. 43 00:03:50,805 --> 00:03:53,457 Ο εξυπηρετητής του Tumblr καταλαβαίνει ότι είστε π.χ. ο Ντέιβιντ. 44 00:03:54,303 --> 00:03:58,499 Στέλνει τότε μια ιστοσελίδα πίσω στον φυλλομετρητή σας που λέει "Επιτυχία! Συνδέθηκε ο Ντέηβιντ." 45 00:03:58,973 --> 00:04:07,000 Αλλά μαζί με αυτήν, επισυνάπτει ένα μικροσκοπικό αόρατο cookie δεδομένων που ο φυλλομετρητής σας βλέπει και αποθηκεύει. 46 00:04:07,134 --> 00:04:10,780 Και είναι πολύ σημαντικό γιατί είναι πραγματικά ο μόνος τρόπος που έχει μια ιστοσελίδα για να θυμάται ποιος είστε. 47 00:04:11,951 --> 00:04:18,291 Τα δεδομένα που περιέχει ουσιαστικά αυτό το cookie είναι ο αριθμός ταυτοποίησής σας για το Tumblr. 48 00:04:18,551 --> 00:04:22,969 Ο φυλλομετρητής σας θυμάται αυτόν τον αριθμό και την επόμενη φορά που κάνετε ανανέωση της σελίδας Tumblr 49 00:04:23,081 --> 00:04:27,990 ή πηγαίνετε στο Tumblr.com προσαρτά αυτόματα αυτόν τον αριθμό ταυτότητας 50 00:04:28,150 --> 00:04:30,600 στο αίτημα που στέλνεται από αυτόν προς τον εξυπηρετητή του Tumblr. 51 00:04:30,670 --> 00:04:35,970 Ο εξυπηρετητής του Tumblr βλέπει το αίτημα που προέρχεται από τον φυλλομετρητή σας μαζί με τον αριθμό ταυτότητας και ξέρει ότι: 52 00:04:36,163 --> 00:04:38,448 "Αυτό είναι ένα αίτημα από τον Ντέιβιντ". 53 00:04:40,398 --> 00:04:42,948 Όμως το διαδίκτυο είναι τελείως ανοιχτό. 54 00:04:43,160 --> 00:04:47,737 Όλες οι συνδέσεις του είναι κοινές και οι πληροφορίες στέλνονται σε απλό κείμενο. 55 00:04:47,983 --> 00:04:54,054 Αυτό δίνει τη δυνατότητα σε χάκερς να κατασκοπεύσουν προσωπικές πληροφορίες που στέλνετε μέσω διαδικτύου. 56 00:04:54,993 --> 00:05:00,782 Οι ασφαλείς ιστότοποι το αποτρέπουν αυτό, ζητώντας από τον φυλλομετρητή να επικοινωνεί σε ασφαλές κανάλι 57 00:05:00,997 --> 00:05:06,909 με την χρήση του πιστοποιητικού ασφαλείας SSL (Secure Sockets Layer) και του μεταγενέστερου TLS (Transport Layer Security). 58 00:05:07,323 --> 00:05:13,769 Μπορείτε να δείτε το SSL και το TLS σαν ένα στρώμα ασφαλείας τυλιγμένο γύρω από τις επικοινωνίες σας 59 00:05:13,984 --> 00:05:16,505 για να τις προστατεύουν από το κατασκοπεία ή παρεμβάσεις. 60 00:05:17,193 --> 00:05:22,935 Το SSL και το TLS είναι ενεργά όταν βλέπετε το μικρό λουκέτο που εμφανίζεται στη γραμμή διεύθυνσης του φυλλομετρητή σας, 61 00:05:23,143 --> 00:05:31,121 δίπλα στο HTTPS. Τα πρωτόκολλα HTTPS εξασφαλίζουν ότι τα αιτήματα HTTP που κάνετε είναι ασφαλή και προστατευμένα. 62 00:05:32,197 --> 00:05:38,518 Όταν ένας ιστότοπος ζητά από τον φυλλομετρητή σας να μιλήσουν με ασφαλή σύνδεση, πρώτα παρέχει ένα ψηφιακό πιστοποιητικό. 63 00:05:38,944 --> 00:05:43,554 Αυτό είναι σαν μια επίσημη ταυτότητα που αποδεικνύει ότι είναι όντως η αυθεντική ιστοσελίδα που ζητήσατε. 64 00:05:44,202 --> 00:05:49,805 Τα πιστοποιητικά ασφαλείας εκδίδονται από αρχές πιστοποίησης, έμπιστες υπηρεσίες που επαληθεύουν 65 00:05:49,854 --> 00:05:53,261 την ταυτότητα των ιστοσελίδων και εκδίδουν πιστοποιητικά για αυτές. 66 00:05:53,674 --> 00:05:56,717 Όπως ακριβώς η κυβέρνηση εκδίδει ταυτότητες ή διαβατήρια. 67 00:05:57,380 --> 00:06:04,065 Αν ένας ιστότοπος προσπαθήσει να ξεκινήσει μια ασφαλή σύνδεση χωρίς ψηφιακό πιστοποιητικό, ο φυλλομετρητής θα σας ειδοποιήσει. 68 00:06:07,187 --> 00:06:11,965 Αυτά είναι τα βασικά της περιήγησης στον ιστό! Της πλευράς του διαδικτύου που βλέπουμε κάθε μέρα! 69 00:06:12,371 --> 00:06:18,859 Περιληπτικά θα λέγαμε ότι το HTTP και οι DNS διαχειρίζονται την αποστολή και λήψη HTML, 70 00:06:19,111 --> 00:06:21,427 αρχείων πολυμέσων, και οτιδήποτε άλλο στο ίντερνετ. 71 00:06:21,918 --> 00:06:27,142 Αυτό που το καθιστά δυνατό στο παρασκήνιο είναι το TCP/IP και τα δίκτυα δρομολογητών (router) 72 00:06:27,369 --> 00:06:31,037 που χωρίζουν και μεταφέρουν τις πληροφορίες σε μικρά πακέτα. 73 00:06:31,689 --> 00:06:36,486 Τα πακέτα αυτά αποτελούνται από δυαδικά ψηφία, ακολουθίες από 1 και 0 74 00:06:36,611 --> 00:06:41,742 που στέλνονται μέσω ηλεκτρικών καλωδίων, οπτικής ίνας και ασύρματων δικτύων. 75 00:06:42,589 --> 00:06:46,040 Ευτυχώς, μόλις μάθουμε πώς λειτουργεί ένα στρώμα του διαδικτύου, 76 00:06:46,248 --> 00:06:49,410 μπορούμε να βασιζόμαστε σε αυτό χωρίς να χρειάζεται να θυμόμαστε όλες τις λεπτομέρειες. 77 00:06:49,802 --> 00:06:52,580 Και μπορούμε να έχουμε εμπιστοσύνη ότι όλα τα στρώματα θα δουλεύουν μαζί 78 00:06:52,749 --> 00:06:56,842 για να παραδώσουν επιτυχώς τις πληροφορίες με αξιοπιστία.