WEBVTT 00:00:02.719 --> 00:00:07.360 Internet: HTTP i HTML 00:00:07.360 --> 00:00:11.740 Nazywam się Jasmine Lawrence. Jestem kierownikiem programowym zespołu projektowego XBOX One. 00:00:11.759 --> 00:00:18.510 Jedna z naszych najważniejszych funkcji nazywa się XBOX Live. To serwis online, 00:00:18.530 --> 00:00:24.099 który łączy graczy z całego świata, a my to umożliwiamy dzięki Internetowi. 00:00:24.099 --> 00:00:30.500 Nie jest to łatwe zadanie; wiele rzeczy dzieje się za kulisami. 00:00:30.500 --> 00:00:36.280 Internet całkowicie zmienia sposób współdziałania i kontaktowania się ludzi. Jak to działa? 00:00:36.280 --> 00:00:43.489 Jak komputery na całym świecie komunikują się ze sobą? Zajmijmy się przeglądaniem sieci. 00:00:43.489 --> 00:00:50.199 Najpierw otwiera się przeglądarkę. Jest to aplikacja umożliwiająca dostęp do stron internetowych. 00:00:50.199 --> 00:00:55.609 Potem wpisuje się adres lub URL, format lokalizacji zasobów witryny, 00:00:55.609 --> 00:00:58.050 na którą chce się wejść np. tumblr.com. 00:01:04.830 --> 00:01:06.810 Nazywam się David Karp, założyłem Tumblr; 00:01:06.810 --> 00:01:12.190 dzisiaj porozmawiamy o przeglądarkach i zasadach ich działania. 00:01:12.190 --> 00:01:16.350 Pewnie jesteście ciekawi, co dzieje się po wpisaniu adresu do przeglądarki i wciśnięciu "Enter". 00:01:16.350 --> 00:01:21.020 Trudno to sobie wyobrazić, c'nie? W tym momencie komputer zaczyna rozmawiać 00:01:21.020 --> 00:01:26.100 z innym komputerem, serwerem, zwykle oddalonym o tysiące kilometrów. 00:01:26.100 --> 00:01:34.954 W ciągu milisekund komputer pyta serwer o witrynę, a serwer odpowiada komputerowi w 00:01:34.954 --> 00:01:40.280 języku HTTP. HTTP oznacza protokół przesyłania dokumentów hipertekstowych. 00:01:40.280 --> 00:01:43.680 Można uznać go za język, w jakim jeden komputer prosi drugi 00:01:43.680 --> 00:01:48.009 komputer o dokument. To jest aż tak proste. 00:01:48.009 --> 00:01:52.540 Jeśli ktoś podsłuchałby rozmowę swojego komputera z serwerem w Internecie 00:01:52.540 --> 00:01:56.670 stwierdziłby, że tworzą ją elementy zwane zapytaniami "GET" - uzyskaj. Po prostu 00:01:56.670 --> 00:02:01.590 "GET" - uzyskaj i nazwa dokumentu, o który nam chodzi. Jeśli ktoś się loguje na 00:02:01.590 --> 00:02:06.360 Tumblr i ładuje naszą stronę logowania, to po prostu wysyła zapytanie GET do serwera 00:02:06.360 --> 00:02:14.290 Tumblr, który mówi GET - uzyskaj/login. A dla serwera Tumblr oznacza to, że chcesz cały 00:02:14.290 --> 00:02:21.800 kod HTML dla strony logowania Tumblr. HTML oznacza hipertekstowy język znaczników. 00:02:21.800 --> 00:02:26.470 Język, którego używa się do opowiedzenia przeglądarce, jak ma wyglądać strona. 00:02:26.470 --> 00:02:30.540 Wikipedia stanowi duży prosty dokument, a HTML jest 00:02:30.540 --> 00:02:35.630 językiem, którym posługujemy się, aby powiększyć i pogrubić tytuł, aby dobrać 00:02:35.630 --> 00:02:40.838 właściwą czcionkę, aby połączyć określony tekst z określonymi stronami, 00:02:40.838 --> 00:02:45.617 aby część tekstu pogrubić, część zapisać kursywą, wstawić obrazek na środek, 00:02:45.617 --> 00:02:49.389 przesunąć w prawo, a potem w lewo. 00:02:49.389 --> 00:02:52.990 Tekst strony internetowej zawarty jest bezpośrednio w HTML 00:02:52.990 --> 00:02:58.380 ale inne elementy np. obrazki lub filmy mają własne URL, o które prosisz. 00:02:58.380 --> 00:03:04.540 Przeglądarka wysyła oddzielne zapytania HTTP dla każdego z nich i 00:03:04.540 --> 00:03:11.670 wyświetla je, gdy dotrą. Jeśli na stronie internetowej jest wiele różnych obrazów, 00:03:11.670 --> 00:03:20.780 każdy wymaga odrębnego zapytania HTTP, a strona ładuje się wolniej. Czasem, chodząc 00:03:20.780 --> 00:03:25.880 po Internecie, nie szukamy tylko stron z zapytaniami GET. Czasem wysyłamy informację 00:03:25.880 --> 00:03:29.188 np. gdy wypełniamy formularz lub wpisujemy zapytanie. 00:03:29.188 --> 00:03:36.728 Przeglądarka wysyła tę informację w formie tekstu do serwera używając zapytania HTTP POST. 00:03:36.728 --> 00:03:41.182 Powiedzmy, że logujesz się na Tumblr. Najpierw składasz zapytanie POST, 00:03:41.182 --> 00:03:49.680 który jest POSTEM na stronę logowania Tumblr, a zawiera dane. Adres email, hasło. 00:03:49.680 --> 00:03:54.420 To idzie do serwera Tumblr. Serwer Tumblr stwierdza, że OK, to jest David. 00:03:54.420 --> 00:03:59.270 Wysyła stronę z powrotem na Twój serwer, który stwierdza: "Sukces! Dawid zalogowany". 00:03:59.270 --> 00:04:04.387 Poza stroną internetową dołącza jednak niewidoczne dane cookie, które widzi 00:04:04.387 --> 00:04:12.257 Twoja przeglądarka i wie, że trzeba to zapisać. To ważne, gdyż tylko tak strona 00:04:12.257 --> 00:04:16.940 pamięta, że Ty to Ty. Wszystkie dane cookie to dowód tożsamości dla Tumblr. 00:04:16.940 --> 00:04:21.647 To liczba identyfikująca Cię jako Davida. Przeglądarka zapamiętuje tę liczbę 00:04:21.647 --> 00:04:25.791 i gdy odświeżasz Tumblr po raz kolejny i znowu przechodzisz do Tumblr.com, 00:04:25.791 --> 00:04:29.720 Twoja przeglądarka wie, że ma automatycznie dołączyć Twój numer ID z zapytaniem, 00:04:29.720 --> 00:04:33.290 które wysyła do serwerów Tumblr. Te serwery już widzą, że zapytanie pochodzi 00:04:33.290 --> 00:04:40.510 z Twojej przeglądarki, widzą nr ID i wiedzą: "OK, to zapytanie od Davida". 00:04:40.510 --> 00:04:45.329 Ale cóż, Internet jest w pełni otwarty. Wszystkie jego połączenia są udostępnione, 00:04:45.329 --> 00:04:52.820 a informacje przesyła w formie tekstu. To pozwala hakerom węszyć w prywatnych 00:04:52.820 --> 00:04:58.870 informacjach przesyłanych w Internecie. Zapobiegają temu bezpieczne strony prosząc 00:04:58.870 --> 00:05:04.140 serwer o kontakt z bezpiecznym kanałem, korzystając z Secure Sockets Layer 00:05:04.140 --> 00:05:12.340 i jego następcy Transport Layer Security. SSL i TLS stanowią zabezpieczenia wiadomości, 00:05:12.340 --> 00:05:20.530 chroniąc je przed ingerencją ciekawskich. SSL i TLS są aktywne, gdy widać kłódkę, 00:05:20.530 --> 00:05:27.440 która pojawia się w pasku adresu przeglądarki, obok HTTPS. Protokoły HTTPS 00:05:27.440 --> 00:05:32.500 zapewniają bezpieczeństwo i ochronę zapytań HTTP. 00:05:32.500 --> 00:05:38.147 Gdy strona prosi przeglądarkę o włączenie bezpiecznego połączenia, najpierw wystawia certyfikat 00:05:38.147 --> 00:05:44.520 cyfrowy. To coś w rodzaju urzędowego dowodu tożsamości strony. 00:05:44.520 --> 00:05:49.170 Certyfikaty cyfrowe są publikowane przez podmioty certyfikujące czyli zaufane jednostki, 00:05:49.170 --> 00:05:53.550 które weryfikują tożsamość stron i wystawiają im certyfikaty. 00:05:53.550 --> 00:05:59.300 Tak, jak urzędy państwowe wystawiają dowód osobisty czy paszport. Jeśli strona próbuje uruchomić 00:05:59.300 --> 00:06:05.140 bezpieczne połączenie bez stosownego certyfikatu, przeglądarka Cię ostrzega! 00:06:05.140 --> 00:06:10.530 Tak wyglądają podstawy przeglądania Internetu. Tej części, którą oglądamy 00:06:10.530 --> 00:06:19.520 codziennie. Podsumowując HTTP i DNS regulują wysyłanie i odbieranie HTML, 00:06:19.520 --> 00:06:24.940 plików mediów i wszystkiego w Internecie. TCP/IP i sieci routerów dyskretnie to 00:06:24.940 --> 00:06:32.670 umożliwiają, bo dzielą i przenoszą informacje w małych pakietach. Te pakiety 00:06:32.670 --> 00:06:39.450 są binarnymi sekwencjami jedynek i zer, które są fizycznie przesyłane kablami 00:06:39.450 --> 00:06:45.690 elektrycznymi, światłowodami i sieciami bezprzewodowymi. Gdy już dowiecie się, 00:06:45.690 --> 00:06:49.930 jak działa jedna warstwa internetu, korzystajcie i nie martwcie się o szczegóły. 00:06:49.930 --> 00:06:59.090 Wierzymy, że one ze sobą współdziałają, dostarczając informacje w sposób niezawodny.