WEBVTT 00:00:02.719 --> 00:00:05.039 Internettet: HTTP og HTML 00:00:07.360 --> 00:00:12.323 Jeg er Jasmine, og jeg er programmerings- chef på XBOX One-ingeniørholdet. 00:00:14.162 --> 00:00:17.043 Et af vores største funktioner hedder XBOX Live. 00:00:17.043 --> 00:00:20.999 Det er en onlinetjeneste, der forbinder spillere fra hele verden, 00:00:20.999 --> 00:00:24.099 og for at det skal ske, er internettet en nødvendighed. 00:00:24.099 --> 00:00:30.061 Dette er ikke en let opgave, og der sker meget bag kulisserne. 00:00:30.061 --> 00:00:34.573 Internettet ændrer fuldkommen, hvordan folk arbejder sammen og forbindes. 00:00:34.573 --> 00:00:36.080 Men hvordan virker det? 00:00:36.080 --> 00:00:40.929 Hvordan kommunikerer computere over hele verden egentlig med hinanden? 00:00:40.929 --> 00:00:43.489 Lad os tage et kig på webbrowsen. 00:00:43.489 --> 00:00:49.499 Først åbner du en webbrowser. Det er appen, du bruger til at tilgå websiderne. 00:00:49.499 --> 00:00:53.298 Som det næste indtaster du webadressen, eller URL'et, der står for 00:00:53.298 --> 00:00:58.789 Uniform Resource Locator, for websiden, som du vil besøge, såsom Tumblr.com. 00:01:04.680 --> 00:01:08.080 Hej, jeg er David Karp, stifteren af Tumblr, og I dag skal vi snakke om, 00:01:08.080 --> 00:01:11.760 hvordan de webbrowsere, som vi bruger til dagligt, faktisk virker. 00:01:11.760 --> 00:01:15.570 Du har nok undret dig, om hvad der faktisk sker, når du taster en adresse i din 00:01:15.570 --> 00:01:17.068 webbrowser og trykker enter. 00:01:17.068 --> 00:01:19.869 Og det er næsten lige så skørt, som du kan forestille dig. 00:01:19.869 --> 00:01:23.916 I det øjeblik, begynder din computer at tale med en anden computer, der hedder en 00:01:23.916 --> 00:01:27.183 server, og det er normalt tusindvis af kilometer væk. 00:01:27.183 --> 00:01:31.425 Og efter nogle millisekunder beder din computeren serveren om en webside, 00:01:31.425 --> 00:01:37.740 og den server begynder at besvare din computer på et sprog, der hedder HTTP. 00:01:37.740 --> 00:01:40.950 HTTP står for hypertext transfer protokol. 00:01:40.950 --> 00:01:44.600 Tænk på det som værende sproget, som en computer bruger til at bede en anden 00:01:44.600 --> 00:01:48.009 computer om et dokument. Og det er faktisk ret ligetil. 00:01:48.009 --> 00:01:53.160 Hvis du opfangede samtalen mellem din computer og en webserver på internettet, 00:01:53.160 --> 00:01:56.312 så består det hovedsagligt af noget, der hedder "GET"-anmodninger. 00:01:56.312 --> 00:02:00.815 Disse er helt enkelt ordet "GET" (hent) og navnet på det anmodede dokument. 00:02:00.815 --> 00:02:04.440 Så hvis du prøver at logge på Tumblr og indlæser vores loginside, er alt det, 00:02:04.440 --> 00:02:10.414 du gør faktisk at sende en GET-anmodning til Tumblrs server, der siger GET /login. 00:02:10.414 --> 00:02:16.824 Og det fortæller Tumblrs server, at du vil have al HTML-koden for Tumblr login-siden. 00:02:18.104 --> 00:02:20.955 Så HTML står for hyper text markup language, 00:02:20.955 --> 00:02:22.470 og du kan opfatte det som 00:02:22.470 --> 00:02:25.240 værende det sprog, du bruger til at fortælle en webbrowser, 00:02:25.240 --> 00:02:26.690 hvordan den skal vise en side. 00:02:26.690 --> 00:02:30.090 Forestil dig en side som Wikipedia, der virkelig bare er et stort enkelt 00:02:30.090 --> 00:02:35.088 dokument, og HTML er sproget, som du bruger til at gøre titlen stor og fed, 00:02:35.088 --> 00:02:41.290 til at gøre skrifttypen til den rette, til at linke til visse andre sider, til at 00:02:41.290 --> 00:02:45.102 gøre nogen tekst fed, til at gøre nogen tekst kursiv, til at sætte et billede i 00:02:45.102 --> 00:02:49.090 midten af siden, til at justere billedet til højre, til at justere den til venstre. 00:02:49.090 --> 00:02:55.030 En websides tekst er inkluderet direkte i HTML'en, men andre dele, såsom billeder 00:02:55.030 --> 00:02:59.447 eller videoer er særskilte filer med deres egne URL'er, der skal anmodes om. 00:02:59.447 --> 00:03:04.880 Browseren sender separate HTTP-anmodninger for hver af disse og viser dem, 00:03:04.880 --> 00:03:06.980 når de ankommer. 00:03:07.920 --> 00:03:12.549 Hvis en webside har en masse forskellige billeder, udløser hver af dem en separat 00:03:12.549 --> 00:03:15.870 HTTP-anmodning, og siden indlæses langsommere. 00:03:18.568 --> 00:03:22.350 Nogengange, når du browser internettet, anmoder du ikke blot om sider med 00:03:22.350 --> 00:03:23.770 GET-anmodninger. 00:03:23.770 --> 00:03:27.230 Nogengange sender du information, såsom når du udfylder en formular 00:03:27.230 --> 00:03:29.110 eller indtaster en søgeforespørgsel. 00:03:29.390 --> 00:03:33.400 Din browser sender denne information som klartekst til webserveren 00:03:33.400 --> 00:03:38.510 via en HTTP POST-anmodning. Sig f.eks. at du logger på Tumblr. 00:03:38.510 --> 00:03:43.210 Det første, du gør, er at lave en POST-anmodning, som er en POST til 00:03:43.210 --> 00:03:46.600 Tumblrs loginside, der har noget data forbundet til det. 00:03:46.600 --> 00:03:49.440 Den har din e-mailadresse, den har din adgangskode. 00:03:49.440 --> 00:03:50.980 Dette sendes til Tumblrs server. 00:03:50.980 --> 00:03:54.506 Tumblrs server regner ud at, okay, du er David. 00:03:54.506 --> 00:03:57.180 Den sender en webside tilbage til din browser, der siger: 00:03:57.180 --> 00:03:59.401 "Tillykke! Logget på som David." 00:03:59.401 --> 00:04:03.803 Men sammen med den webside sender den også lidt usynlig cookie-data, 00:04:03.803 --> 00:04:06.820 som din browser kan se, og ved at den skal gemme. 00:04:06.820 --> 00:04:10.490 Og det er virkelig vigtigt, da det er faktisk den eneste måde, en webside kan 00:04:10.490 --> 00:04:12.050 huske, hvem du er. 00:04:12.050 --> 00:04:15.940 Al den cookie-data er faktisk blot et ID-kort til Tumblr. 00:04:15.940 --> 00:04:18.290 Det er et nummer, der identificerer dig som David. 00:04:18.290 --> 00:04:22.290 Og din webbrowser holder fast på det nummer, og næste gang du opdaterer 00:04:22.290 --> 00:04:26.660 Tumblr, næste gang du går på Tumblr.com, ved din browser, at den skal automatisk 00:04:26.660 --> 00:04:30.930 tilføje det ID-nummer til anmodningen, som den sender til Tumblrs servere. 00:04:30.930 --> 00:04:35.970 Så nu ser Tumblrs servere anmodningen fra din browser, ser ID-nummeret og ved at 00:04:35.970 --> 00:04:38.230 "OK, dette er en anmodning fra David." 00:04:40.694 --> 00:04:43.680 Internettet er helt åbent. 00:04:43.680 --> 00:04:48.530 Alle dets forbindelser er delte og oplysninger sendes som klartekst. 00:04:48.530 --> 00:04:52.620 Dette gør det muligt for hackere at snage i enhver personlige information, 00:04:52.620 --> 00:04:55.030 du sender over internettet. 00:04:55.030 --> 00:04:59.620 Men sikre websider forhindrer dette ved at bede din webbrowser om at kommunikere på 00:04:59.620 --> 00:05:04.600 en sikker kanal, ved hjælp af noget, der hedder secure socket layer og dets 00:05:04.600 --> 00:05:07.630 efterfølger, transport layer security. 00:05:07.630 --> 00:05:13.000 Forestil dig SSL og TLS som et sikkerhedslag viklet omkring dine 00:05:13.000 --> 00:05:16.830 kommunikationer for at beskytte dem mod snagen og manipulation. 00:05:16.830 --> 00:05:22.390 SSL og TLS er aktive, når du ser den lille lås i din browsers addresselinje 00:05:22.390 --> 00:05:25.580 ved siden af HTTPS. 00:05:25.580 --> 00:05:32.380 HTTPS-protokollerne sørger for at dine HTTP-anmodninger er sikre og beskyttet. 00:05:32.380 --> 00:05:37.160 Når en webside beder din browser starte en sikker forbindelse, fremlægger den 00:05:37.160 --> 00:05:39.120 først et digitalt certifikat. 00:05:39.120 --> 00:05:42.590 Det er ligesom et officielt ID-kort, der beviser, at det er den webside, 00:05:42.590 --> 00:05:44.170 den siger, den er. 00:05:44.170 --> 00:05:48.520 Digitale certifikater udgives af certifikat-myndigheder, der er betroede 00:05:48.520 --> 00:05:53.600 organer, der bekræfter websiders identitet og udsteder certifikater til dem. 00:05:53.600 --> 00:05:57.440 På samme vis som en regering kan udstede ID'er eller pas. 00:05:57.440 --> 00:06:01.340 Hvis en webside nu prøver at starte en sikker forbindelse uden et korrekt udstedt 00:06:01.340 --> 00:06:04.920 digitalt certifikat, vil din browser advare dig. 00:06:07.302 --> 00:06:09.590 Det er det grundlæggende for webbrowsen! 00:06:09.590 --> 00:06:12.738 Den del af internettet vi ser til dagligt. 00:06:12.738 --> 00:06:20.210 For at opsummere, tager HTTP og DNS sig af at sende og modtage HTML, medie-filer 00:06:20.210 --> 00:06:22.470 eller alt, der er på internettet. 00:06:22.470 --> 00:06:28.360 Det, der understøtter dette er TCP/IP og router-netværk, der opdeler og 00:06:28.360 --> 00:06:31.760 transporterer information i små pakker. 00:06:31.760 --> 00:06:37.150 Disse pakker består af binær kode, rækker af 1'er og 0'er, der fysisk 00:06:37.150 --> 00:06:42.550 sendes gennem el-ledninger, fiberoptiske kabler og trådløse netværk. 00:06:42.550 --> 00:06:47.810 Når du har forstået, hvordan ét lag af internettet virker, kan du heldigvis stole 00:06:47.810 --> 00:06:50.020 på det uden at skulle huske alle detaljerne. 00:06:50.020 --> 00:06:53.950 Og vi kan stole på, at alle de lag vil virke sammen for at levere 00:06:53.950 --> 00:06:58.050 oplysninger på skalerbar og pålidelig vis.