1 00:00:02,719 --> 00:00:05,039 Internettet: HTTP og HTML 2 00:00:07,360 --> 00:00:12,323 Jeg er Jasmine, og jeg er programmerings- chef på XBOX One-ingeniørholdet. 3 00:00:14,162 --> 00:00:17,043 Et af vores største funktioner hedder XBOX Live. 4 00:00:17,043 --> 00:00:20,999 Det er en onlinetjeneste, der forbinder spillere fra hele verden, 5 00:00:20,999 --> 00:00:24,099 og for at det skal ske, er internettet en nødvendighed. 6 00:00:24,099 --> 00:00:30,061 Dette er ikke en let opgave, og der sker meget bag kulisserne. 7 00:00:30,061 --> 00:00:34,573 Internettet ændrer fuldkommen, hvordan folk arbejder sammen og forbindes. 8 00:00:34,573 --> 00:00:36,080 Men hvordan virker det? 9 00:00:36,080 --> 00:00:40,929 Hvordan kommunikerer computere over hele verden egentlig med hinanden? 10 00:00:40,929 --> 00:00:43,489 Lad os tage et kig på webbrowsen. 11 00:00:43,489 --> 00:00:49,499 Først åbner du en webbrowser. Det er appen, du bruger til at tilgå websiderne. 12 00:00:49,499 --> 00:00:53,298 Som det næste indtaster du webadressen, eller URL'et, der står for 13 00:00:53,298 --> 00:00:58,789 Uniform Resource Locator, for websiden, som du vil besøge, såsom Tumblr.com. 14 00:01:04,680 --> 00:01:08,080 Hej, jeg er David Karp, stifteren af Tumblr, og I dag skal vi snakke om, 15 00:01:08,080 --> 00:01:11,760 hvordan de webbrowsere, som vi bruger til dagligt, faktisk virker. 16 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 17 00:01:15,570 --> 00:01:17,068 webbrowser og trykker enter. 18 00:01:17,068 --> 00:01:19,869 Og det er næsten lige så skørt, som du kan forestille dig. 19 00:01:19,869 --> 00:01:23,916 I det øjeblik, begynder din computer at tale med en anden computer, der hedder en 20 00:01:23,916 --> 00:01:27,183 server, og det er normalt tusindvis af kilometer væk. 21 00:01:27,183 --> 00:01:31,425 Og efter nogle millisekunder beder din computeren serveren om en webside, 22 00:01:31,425 --> 00:01:37,740 og den server begynder at besvare din computer på et sprog, der hedder HTTP. 23 00:01:37,740 --> 00:01:40,950 HTTP står for hypertext transfer protokol. 24 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 25 00:01:44,600 --> 00:01:48,009 computer om et dokument. Og det er faktisk ret ligetil. 26 00:01:48,009 --> 00:01:53,160 Hvis du opfangede samtalen mellem din computer og en webserver på internettet, 27 00:01:53,160 --> 00:01:56,312 så består det hovedsagligt af noget, der hedder "GET"-anmodninger. 28 00:01:56,312 --> 00:02:00,815 Disse er helt enkelt ordet "GET" (hent) og navnet på det anmodede dokument. 29 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, 30 00:02:04,440 --> 00:02:10,414 du gør faktisk at sende en GET-anmodning til Tumblrs server, der siger GET /login. 31 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. 32 00:02:18,104 --> 00:02:20,955 Så HTML står for hyper text markup language, 33 00:02:20,955 --> 00:02:22,470 og du kan opfatte det som 34 00:02:22,470 --> 00:02:25,240 værende det sprog, du bruger til at fortælle en webbrowser, 35 00:02:25,240 --> 00:02:26,690 hvordan den skal vise en side. 36 00:02:26,690 --> 00:02:30,090 Forestil dig en side som Wikipedia, der virkelig bare er et stort enkelt 37 00:02:30,090 --> 00:02:35,088 dokument, og HTML er sproget, som du bruger til at gøre titlen stor og fed, 38 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 39 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 40 00:02:45,102 --> 00:02:49,090 midten af siden, til at justere billedet til højre, til at justere den til venstre. 41 00:02:49,090 --> 00:02:55,030 En websides tekst er inkluderet direkte i HTML'en, men andre dele, såsom billeder 42 00:02:55,030 --> 00:02:59,447 eller videoer er særskilte filer med deres egne URL'er, der skal anmodes om. 43 00:02:59,447 --> 00:03:04,880 Browseren sender separate HTTP-anmodninger for hver af disse og viser dem, 44 00:03:04,880 --> 00:03:06,980 når de ankommer. 45 00:03:07,920 --> 00:03:12,549 Hvis en webside har en masse forskellige billeder, udløser hver af dem en separat 46 00:03:12,549 --> 00:03:15,870 HTTP-anmodning, og siden indlæses langsommere. 47 00:03:18,568 --> 00:03:22,350 Nogengange, når du browser internettet, anmoder du ikke blot om sider med 48 00:03:22,350 --> 00:03:23,770 GET-anmodninger. 49 00:03:23,770 --> 00:03:27,230 Nogengange sender du information, såsom når du udfylder en formular 50 00:03:27,230 --> 00:03:29,110 eller indtaster en søgeforespørgsel. 51 00:03:29,390 --> 00:03:33,400 Din browser sender denne information som klartekst til webserveren 52 00:03:33,400 --> 00:03:38,510 via en HTTP POST-anmodning. Sig f.eks. at du logger på Tumblr. 53 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 54 00:03:43,210 --> 00:03:46,600 Tumblrs loginside, der har noget data forbundet til det. 55 00:03:46,600 --> 00:03:49,440 Den har din e-mailadresse, den har din adgangskode. 56 00:03:49,440 --> 00:03:50,980 Dette sendes til Tumblrs server. 57 00:03:50,980 --> 00:03:54,506 Tumblrs server regner ud at, okay, du er David. 58 00:03:54,506 --> 00:03:57,180 Den sender en webside tilbage til din browser, der siger: 59 00:03:57,180 --> 00:03:59,401 "Tillykke! Logget på som David." 60 00:03:59,401 --> 00:04:03,803 Men sammen med den webside sender den også lidt usynlig cookie-data, 61 00:04:03,803 --> 00:04:06,820 som din browser kan se, og ved at den skal gemme. 62 00:04:06,820 --> 00:04:10,490 Og det er virkelig vigtigt, da det er faktisk den eneste måde, en webside kan 63 00:04:10,490 --> 00:04:12,050 huske, hvem du er. 64 00:04:12,050 --> 00:04:15,940 Al den cookie-data er faktisk blot et ID-kort til Tumblr. 65 00:04:15,940 --> 00:04:18,290 Det er et nummer, der identificerer dig som David. 66 00:04:18,290 --> 00:04:22,290 Og din webbrowser holder fast på det nummer, og næste gang du opdaterer 67 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 68 00:04:26,660 --> 00:04:30,930 tilføje det ID-nummer til anmodningen, som den sender til Tumblrs servere. 69 00:04:30,930 --> 00:04:35,970 Så nu ser Tumblrs servere anmodningen fra din browser, ser ID-nummeret og ved at 70 00:04:35,970 --> 00:04:38,230 "OK, dette er en anmodning fra David." 71 00:04:40,694 --> 00:04:43,680 Internettet er helt åbent. 72 00:04:43,680 --> 00:04:48,530 Alle dets forbindelser er delte og oplysninger sendes som klartekst. 73 00:04:48,530 --> 00:04:52,620 Dette gør det muligt for hackere at snage i enhver personlige information, 74 00:04:52,620 --> 00:04:55,030 du sender over internettet. 75 00:04:55,030 --> 00:04:59,620 Men sikre websider forhindrer dette ved at bede din webbrowser om at kommunikere på 76 00:04:59,620 --> 00:05:04,600 en sikker kanal, ved hjælp af noget, der hedder secure socket layer og dets 77 00:05:04,600 --> 00:05:07,630 efterfølger, transport layer security. 78 00:05:07,630 --> 00:05:13,000 Forestil dig SSL og TLS som et sikkerhedslag viklet omkring dine 79 00:05:13,000 --> 00:05:16,830 kommunikationer for at beskytte dem mod snagen og manipulation. 80 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 81 00:05:22,390 --> 00:05:25,580 ved siden af HTTPS. 82 00:05:25,580 --> 00:05:32,380 HTTPS-protokollerne sørger for at dine HTTP-anmodninger er sikre og beskyttet. 83 00:05:32,380 --> 00:05:37,160 Når en webside beder din browser starte en sikker forbindelse, fremlægger den 84 00:05:37,160 --> 00:05:39,120 først et digitalt certifikat. 85 00:05:39,120 --> 00:05:42,590 Det er ligesom et officielt ID-kort, der beviser, at det er den webside, 86 00:05:42,590 --> 00:05:44,170 den siger, den er. 87 00:05:44,170 --> 00:05:48,520 Digitale certifikater udgives af certifikat-myndigheder, der er betroede 88 00:05:48,520 --> 00:05:53,600 organer, der bekræfter websiders identitet og udsteder certifikater til dem. 89 00:05:53,600 --> 00:05:57,440 På samme vis som en regering kan udstede ID'er eller pas. 90 00:05:57,440 --> 00:06:01,340 Hvis en webside nu prøver at starte en sikker forbindelse uden et korrekt udstedt 91 00:06:01,340 --> 00:06:04,920 digitalt certifikat, vil din browser advare dig. 92 00:06:07,302 --> 00:06:09,590 Det er det grundlæggende for webbrowsen! 93 00:06:09,590 --> 00:06:12,738 Den del af internettet vi ser til dagligt. 94 00:06:12,738 --> 00:06:20,210 For at opsummere, tager HTTP og DNS sig af at sende og modtage HTML, medie-filer 95 00:06:20,210 --> 00:06:22,470 eller alt, der er på internettet. 96 00:06:22,470 --> 00:06:28,360 Det, der understøtter dette er TCP/IP og router-netværk, der opdeler og 97 00:06:28,360 --> 00:06:31,760 transporterer information i små pakker. 98 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 99 00:06:37,150 --> 00:06:42,550 sendes gennem el-ledninger, fiberoptiske kabler og trådløse netværk. 100 00:06:42,550 --> 00:06:47,810 Når du har forstået, hvordan ét lag af internettet virker, kan du heldigvis stole 101 00:06:47,810 --> 00:06:50,020 på det uden at skulle huske alle detaljerne. 102 00:06:50,020 --> 00:06:53,950 Og vi kan stole på, at alle de lag vil virke sammen for at levere 103 00:06:53,950 --> 00:06:58,050 oplysninger på skalerbar og pålidelig vis.