1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: Lad os tale om en anden protocol-- Hypertext Transfer 3 00:00:09,310 --> 00:00:12,060 Protokol eller HTTP. 4 00:00:12,060 --> 00:00:15,074 Så vi har talt om IP og TCP i tidligere videoer. 5 00:00:15,074 --> 00:00:17,240 Og dem er protokoller der dikterer, hvordan oplysninger 6 00:00:17,240 --> 00:00:20,970 bevæger sig fra maskine til maskine og fra program til program eller en tjeneste 7 00:00:20,970 --> 00:00:27,720 at servicere via internettet, via dette netværk af routere og maskiner. 8 00:00:27,720 --> 00:00:30,640 >> Men det er normalt ikke hele billedet, ikke? 9 00:00:30,640 --> 00:00:33,530 Normalt når vi sender information, programmet 10 00:00:33,530 --> 00:00:36,570 itself-- når data er modtagne sige, for eksempel, 11 00:00:36,570 --> 00:00:44,270 email via TCP port 25 eller webside anmodning via port 80, 12 00:00:44,270 --> 00:00:48,220 der er normalt et system af regler der til at behandle, hvad jeg lige har modtaget. 13 00:00:48,220 --> 00:00:51,960 Og HTTP er et eksempel for bare sådan protokol. 14 00:00:51,960 --> 00:00:54,929 >> HTTP er den eneste applikationslaget protokol 15 00:00:54,929 --> 00:00:56,220 at vi kommer til at tale om. 16 00:00:56,220 --> 00:00:59,660 Men det er et andet sæt regler dikterer, hvordan 17 00:00:59,660 --> 00:01:02,790 oplysninger skal overføres og behandles via internettet. 18 00:01:02,790 --> 00:01:06,390 Især HTTP specificerer præcis hvordan 19 00:01:06,390 --> 00:01:11,300 man skal fremsætte en anmodning om en webside, og præcis hvordan 20 00:01:11,300 --> 00:01:15,160 en server, en maskine der er vært websider, 21 00:01:15,160 --> 00:01:17,840 leverer denne information tilbage til kunderne. 22 00:01:17,840 --> 00:01:20,010 >> Så denne protokol ikke faktisk har noget 23 00:01:20,010 --> 00:01:22,270 at gøre med, hvordan information bevæger sig fra punkt A 24 00:01:22,270 --> 00:01:26,090 til punkt B. Det er virkelig den ordning 25 00:01:26,090 --> 00:01:29,700 for-- det er dybest set reglerne for engagement til at arbejde med en web-side, 26 00:01:29,700 --> 00:01:31,960 ligner når nogen bølger deres hånd på dig, 27 00:01:31,960 --> 00:01:33,410 du er formodes at vinke tilbage. 28 00:01:33,410 --> 00:01:36,280 Det er en slags konventionelle menneskelig protokol. 29 00:01:36,280 --> 00:01:39,610 HTTP-protokollen bare siger, hvis du ønsker at anmode om en web 30 00:01:39,610 --> 00:01:42,730 side, så sørg for dit format udseende ligesom denne-- slags ligesom formatering 31 00:01:42,730 --> 00:01:44,930 en business brev, for eksempel. 32 00:01:44,930 --> 00:01:50,029 Og svaret vil tilsvarende kommer efter denne protokol. 33 00:01:50,029 --> 00:01:51,820 Der er andre applikationslaget protokoller 34 00:01:51,820 --> 00:01:53,380 at vi ikke kommer til at taler om i videoer. 35 00:01:53,380 --> 00:01:55,790 Men disse omfatter ting som File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol for sende e-mails, Data Distribution 37 00:01:59,200 --> 00:02:02,100 Service, Remote Desktop Protokol, RDP, som 38 00:02:02,100 --> 00:02:05,590 bruges, hvis du ønsker at få fjernadgang til din computer fra en anden computer, 39 00:02:05,590 --> 00:02:08,479 XMPP, som ofte kendt som Jabber eller chat, 40 00:02:08,479 --> 00:02:11,160 så det er den protokol for brug af chat-tjenester. 41 00:02:11,160 --> 00:02:13,310 Og der er mange, mange, mange andre. 42 00:02:13,310 --> 00:02:15,900 >> Så hver gang du bruger en tjeneste, tjenesten 43 00:02:15,900 --> 00:02:18,930 forventer oplysninger skal received-- en anmodning 44 00:02:18,930 --> 00:02:21,010 at være received-- i en meget bestemt format 45 00:02:21,010 --> 00:02:24,070 og er forpligtet til at returnere oplysninger tilbage 46 00:02:24,070 --> 00:02:27,190 i en meget bestemt format så godt. 47 00:02:27,190 --> 00:02:31,750 >> Så lad os gå tilbage til vores illustration af os ønsker at tale til internettet. 48 00:02:31,750 --> 00:02:34,810 Så vi er glade, og vi ønsker at gå til cats.com, ikke? 49 00:02:34,810 --> 00:02:38,550 Så hvis vi bare taler til cats.com, vi måske sige noget lignende hey, 50 00:02:38,550 --> 00:02:39,720 kan jeg se din startside? 51 00:02:39,720 --> 00:02:42,320 Og cats.com vil formentlig reagere, yeah, helt sikkert. 52 00:02:42,320 --> 00:02:43,440 Vær så god. 53 00:02:43,440 --> 00:02:46,440 Så det er en menneskelig slags af bede og svar. 54 00:02:46,440 --> 00:02:47,980 >> Hvad der ligner i HTTP? 55 00:02:47,980 --> 00:02:51,340 Tja, det faktisk slags oversætter temmelig rent til noget som dette. 56 00:02:51,340 --> 00:02:57,290 Vi kan sige GET / HTTP / 1.1 fra vært cats.com. 57 00:02:57,290 --> 00:03:03,039 Så dybest set, hvad jeg laver her er beder om websiden www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Vi plejer at udelade skråstreg dag, men det ville bare 59 00:03:05,330 --> 00:03:07,200 betyde cats.com hjemmeside. 60 00:03:07,200 --> 00:03:11,910 >> Åh, og af den måde, jeg har tænkt mig at være ved hjælp af HTTP-version 61 00:03:11,910 --> 00:03:14,182 1.1 at kommunikere med dig. 62 00:03:14,182 --> 00:03:16,390 Det er slags analog med sige, ligesom, ved den måde, 63 00:03:16,390 --> 00:03:17,870 Jeg har tænkt mig at tale på fransk, eller ved den måde, 64 00:03:17,870 --> 00:03:19,370 Jeg har tænkt mig at være tale på engelsk. 65 00:03:19,370 --> 00:03:22,160 Det er bare formatet af protokollen. 66 00:03:22,160 --> 00:03:25,050 Det er også 1,0, hvilket er ikke almindeligt anvendt længere. 67 00:03:25,050 --> 00:03:30,615 Så jeg taler HTTP 1.1, og Jeg vil gerne www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Venligst få det for mig. 69 00:03:31,710 --> 00:03:34,610 >> Og så er der andre oplysninger, too-- dot, prik, prik der, 70 00:03:34,610 --> 00:03:38,234 som er oplysninger om hvem du er så cats.com 71 00:03:38,234 --> 00:03:39,400 ville vide, hvor at sende den. 72 00:03:39,400 --> 00:03:41,480 Men disse er de to slags kritiske dele 73 00:03:41,480 --> 00:03:44,000 i begyndelsen af en HTTP request-- 74 00:03:44,000 --> 00:03:46,770 ligesom når du starter en bogstav, du siger, kære, blank. 75 00:03:46,770 --> 00:03:49,710 Det er meget ens i ånd til det. 76 00:03:49,710 --> 00:03:52,370 >> Og hvis cats.com vil sige, åh, sikker, her du går. 77 00:03:52,370 --> 00:03:55,590 De kan reagere som her-- Jeg er også reagere. 78 00:03:55,590 --> 00:03:57,960 Jeg taler også HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Din anmodning er godkendt, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Hvad du er ved at modtager, er HTML og derefter 81 00:04:04,709 --> 00:04:06,250 dot, dot, dot nogle ekstra oplysninger. 82 00:04:06,250 --> 00:04:10,620 Og i selve bunden af anmodning er faktisk HTML, 83 00:04:10,620 --> 00:04:16,339 det kodesprog, det Indholdet af cats.com hjemmeside. 84 00:04:16,339 --> 00:04:21,227 >> Så HTTP / 1.1-- Jeg anerkender din anmodning blev accepteret via HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Din anmodning blev godkendt. 86 00:04:22,310 --> 00:04:25,810 Jeg kan give dig, hvad du vil, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Du er ved at modtage HTML. 88 00:04:27,440 --> 00:04:30,450 Og så her er den HTML, som du har anmodet om. 89 00:04:30,450 --> 00:04:33,930 >> Men nogle gange vores anmodninger ikke altid gå helt efter planen. 90 00:04:33,930 --> 00:04:37,100 Kan jeg se din cats.html side? 91 00:04:37,100 --> 00:04:40,366 Nå, hvad nu hvis de siger, vi ikke har en cats.html side, 92 00:04:40,366 --> 00:04:42,740 som synes slags urealistisk fordi de er cats.com. 93 00:04:42,740 --> 00:04:44,400 Man skulle tro, de ville have cats.html. 94 00:04:44,400 --> 00:04:45,420 Men OK. 95 00:04:45,420 --> 00:04:48,484 Så det er sortering af konventionelle menneskelig interaktion 96 00:04:48,484 --> 00:04:49,650 vi har nu haft med cats.com. 97 00:04:49,650 --> 00:04:51,060 Hvordan kan det oversætter? 98 00:04:51,060 --> 00:04:52,726 >> Det kan være noget velkendt for dig. 99 00:04:52,726 --> 00:04:55,690 Vores anmodning kiggede nøjagtig det samme, undtagen i stedet for at få skråstreg 100 00:04:55,690 --> 00:04:58,110 vi nu får cats.html. 101 00:04:58,110 --> 00:05:01,810 Så hvad nu dybest set hele dette anmodning siger er du give mig 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Så værten og midten en del af denne øverste linie 104 00:05:08,700 --> 00:05:14,632 der præcist angive, hvilken side jeg beder om. 105 00:05:14,632 --> 00:05:17,590 Men cats.com i dette tilfælde ikke vil at kunne reagere positivt. 106 00:05:17,590 --> 00:05:19,089 De ved ikke, vi taler om. 107 00:05:19,089 --> 00:05:25,170 Og så det er noget, du måtte have set before-- HTTP 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Jeg kunne ikke finde det, du var beder om. 109 00:05:27,180 --> 00:05:30,460 Af den måde, jeg vil give dig tilbage nogle HTML, og som regel, at HTML 110 00:05:30,460 --> 00:05:32,351 er indholdet af nogle 404-side. 111 00:05:32,351 --> 00:05:34,100 Og i tilfælde af cats.com, er det nok 112 00:05:34,100 --> 00:05:37,720 nogle søde katte i en kurv med en trist 404 ansigt ved siden af ​​dem, 113 00:05:37,720 --> 00:05:40,920 fordi du kommer til at være trist, når du ikke får side 114 00:05:40,920 --> 00:05:43,040 at du var på udkig efter. 115 00:05:43,040 --> 00:05:48,520 >> Det er slags det grundlæggende i, hvad en protokol, HTTP-protokollen anmodninger 116 00:05:48,520 --> 00:05:49,180 ligner. 117 00:05:49,180 --> 00:05:52,640 De er virkelig ligner, hvordan vi ville gøre en lignende interaktion 118 00:05:52,640 --> 00:05:55,460 på bare menneskelige konventioner beder om noget 119 00:05:55,460 --> 00:05:58,250 og få det tilbage, eller skrive en brev og forventer et svar 120 00:05:58,250 --> 00:06:00,380 brev i et bestemt format. 121 00:06:00,380 --> 00:06:03,910 Det er temmelig meget, hvad HTTP er bare canonicalizing 122 00:06:03,910 --> 00:06:10,190 for alle enheder, der ønsker at få adgang websider, hypertekst overførsler. 123 00:06:10,190 --> 00:06:15,110 >> Så en linje af formen, dette Fremgangsmåde anmodning target HTTP-versionen, 124 00:06:15,110 --> 00:06:17,100 kaldes en HTTP request line. 125 00:06:17,100 --> 00:06:23,740 Det er normalt den første ting, der er transmitteres som en del af en HTTP-forespørgsel 126 00:06:23,740 --> 00:06:26,180 eller hvis du beder om HTTP. 127 00:06:26,180 --> 00:06:29,970 Det er lidt ligesom, som jeg sagde, siger kære, blank øverst dit brev. 128 00:06:29,970 --> 00:06:32,880 De ved, at du er skrive dem et brev. 129 00:06:32,880 --> 00:06:34,796 Så det er meget ens at sige, jeg kender 130 00:06:34,796 --> 00:06:37,670 at de laver en HTTP-anmodning og det er bestemt format 131 00:06:37,670 --> 00:06:39,090 de beder om. 132 00:06:39,090 --> 00:06:43,810 >> HTTP version er sandsynligvis altid vil være HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 også findes, men er ikke virkelig brugt længere. 134 00:06:46,670 --> 00:06:49,200 Med henblik på CS50, GET er formentlig altid 135 00:06:49,200 --> 00:06:51,540 hvad du kommer til at være bruge, når du er faktisk 136 00:06:51,540 --> 00:06:54,250 gør direkte HTTP-anmodninger. 137 00:06:54,250 --> 00:06:57,720 Men POST er en anden mulighed, at vi er ikke vil tale om lige nu. 138 00:06:57,720 --> 00:07:02,980 Og så anmodning-mål er hvilken side på værten server 139 00:07:02,980 --> 00:07:05,812 du ønsker at få. 140 00:07:05,812 --> 00:07:08,020 Som jeg sagde, at værtsnavnet er en separat linje, normalt 141 00:07:08,020 --> 00:07:10,350 den anden linje af den samlede anmodning. 142 00:07:10,350 --> 00:07:13,660 Og så tilsammen værten navn og målet anmodning 143 00:07:13,660 --> 00:07:16,070 angive en specifik ressource søges. 144 00:07:16,070 --> 00:07:20,986 I vores 404 eksempel et sekund siden, jeg spurgte igen for www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com være vært. 146 00:07:22,940 --> 00:07:26,300 Og i min anmodning linje, Jeg sagde /cats.html. 147 00:07:26,300 --> 00:07:27,790 Det var min anmodning målet. 148 00:07:27,790 --> 00:07:31,200 Så samlet var jeg beder om indholdet eller ressource placeret 149 00:07:31,200 --> 00:07:36,410 ved www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> Og derefter baseret på, hvorvidt ressourcen findes 151 00:07:38,870 --> 00:07:42,160 og om serveren kan levere ressourcen henhold til kundens 152 00:07:42,160 --> 00:07:46,760 anmodning, kan du få forskellige statuskoder tilbage. 153 00:07:46,760 --> 00:07:50,280 Nogle af disse statuskoder du har set fordi de er en del af svaret. 154 00:07:50,280 --> 00:07:53,580 Nogle af dem, 200 OK, er sandsynligvis temmelig tavs. 155 00:07:53,580 --> 00:07:55,650 Du har sikkert aldrig set en side svare 200 OK. 156 00:07:55,650 --> 00:07:56,890 Du skal bare få siden. 157 00:07:56,890 --> 00:08:01,260 Det er ikke som en 404 fejl, som normalt er temmelig klart. 158 00:08:01,260 --> 00:08:03,850 Du normalt se, at der står 404. 159 00:08:03,850 --> 00:08:06,880 >> Så lad os tale om, hvad nogle af disse statuskoder kunne være. 160 00:08:06,880 --> 00:08:09,660 Igen, når serveren reagerer på os, de er 161 00:08:09,660 --> 00:08:12,120 vil reagere HTTP-versionen status. 162 00:08:12,120 --> 00:08:14,020 Normalt HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Hvad er disse statuskoder kommer til at være? 164 00:08:17,410 --> 00:08:18,890 Nå, kan vi få en succes. 165 00:08:18,890 --> 00:08:23,617 Så i den succes, kategori, vi kan få kode 200 med teksten OK. 166 00:08:23,617 --> 00:08:24,450 Hvad betyder det? 167 00:08:24,450 --> 00:08:25,491 Tja, alt er godt. 168 00:08:25,491 --> 00:08:26,721 Du gjorde en gyldig anmodning. 169 00:08:26,721 --> 00:08:27,720 Her er et gyldigt svar. 170 00:08:27,720 --> 00:08:30,060 Jeg var i stand til at levere præcis, hvad du ønskede. 171 00:08:30,060 --> 00:08:33,080 >> Nogle gange kan du få andre ting at du ikke vil bemærke det samme 172 00:08:33,080 --> 00:08:35,140 men er noget fiaskoer. 173 00:08:35,140 --> 00:08:36,422 De er kaldet omadresseringer. 174 00:08:36,422 --> 00:08:37,630 Der er to fælles dem her. 175 00:08:37,630 --> 00:08:41,520 301 Flyttede Permanently-- hvad det betyder egentlig 176 00:08:41,520 --> 00:08:43,559 er den side er nu på en ny placering. 177 00:08:43,559 --> 00:08:44,920 Det vil leve der for evigt. 178 00:08:44,920 --> 00:08:47,150 Og de fleste browsere vil automatisk omdirigere dig. 179 00:08:47,150 --> 00:08:49,860 Så du aldrig rigtig se en 301, enten, medmindre du er 180 00:08:49,860 --> 00:08:52,210 ved hjælp af en virkelig out-of-date browser, eventuelt 181 00:08:52,210 --> 00:08:57,660 fordi 301 respons er en del af prikken, dot, dot af 301 svar. 182 00:08:57,660 --> 00:08:59,577 Det fortæller dig også, hvor den nye side er. 183 00:08:59,577 --> 00:09:01,660 Og så de fleste browsere bare omdirigere dig der, 184 00:09:01,660 --> 00:09:03,570 under forudsætning af at du ønsker at gå der. 185 00:09:03,570 --> 00:09:05,440 >> Nogle gange vil du også få 302 fundet. 186 00:09:05,440 --> 00:09:07,850 Og denne ene du rent faktisk kan stadig se lejlighedsvis. 187 00:09:07,850 --> 00:09:09,720 Sommetider sider flytter midlertidigt. 188 00:09:09,720 --> 00:09:13,570 Så det kommer ikke til at blive bygget ind anmodningen fortæller browseren 189 00:09:13,570 --> 00:09:16,740 til permanent ændre enhver tid det ser anmodningen, at du 190 00:09:16,740 --> 00:09:18,255 gøre at ændre det til noget andet. 191 00:09:18,255 --> 00:09:21,210 Så du kan se 302 Fundet, som dybest set 192 00:09:21,210 --> 00:09:22,710 siger denne side bor et andet sted. 193 00:09:22,710 --> 00:09:24,418 Men det kommer ikke til at bor der for evigt. 194 00:09:24,418 --> 00:09:29,052 Det vil i sidste ende sandsynligvis gå tilbage til hvor du synes, det er. 195 00:09:29,052 --> 00:09:31,780 >> Så vil du få tingene ligesom klient fejl. 196 00:09:31,780 --> 00:09:34,012 Så disse er dem, du har sandsynligvis set nu. 197 00:09:34,012 --> 00:09:35,970 Du har sikkert ikke set de 200s eller 300s, 198 00:09:35,970 --> 00:09:37,370 men du sandsynligvis fortrolig med 400s. 199 00:09:37,370 --> 00:09:40,130 Og det er, hvad vi vil snakke om i en anden, 500s samt. 200 00:09:40,130 --> 00:09:42,580 >> Du kan se 401 Uautoriseret. 201 00:09:42,580 --> 00:09:45,100 Normalt betyder det, at du er forsøger at få adgang en side, 202 00:09:45,100 --> 00:09:46,230 men du har ikke logget på. 203 00:09:46,230 --> 00:09:50,500 Så du prøver og gå til nogle profil eller noget på Facebook 204 00:09:50,500 --> 00:09:53,106 eller du prøver og adgang some-- du er på arbejde. 205 00:09:53,106 --> 00:09:56,619 Du forsøger at få adgang til noget på dit arbejde internet, 206 00:09:56,619 --> 00:09:57,660 men du er ikke logget ind. 207 00:09:57,660 --> 00:09:58,740 Du kan ikke se siden. 208 00:09:58,740 --> 00:10:01,770 Du kan få en 401 uautoriseret, hvilket betyder, at vi sandsynligvis 209 00:10:01,770 --> 00:10:06,590 vil være i stand til at opfylde dette ønske, men først er du nødt til at logge ind for at gøre det. 210 00:10:06,590 --> 00:10:09,590 >> Omvendt kan du få 403 Forbidden, hvilket er det ikke så meget 211 00:10:09,590 --> 00:10:11,490 noget, hvis du er logget ind eller ej. 212 00:10:11,490 --> 00:10:13,020 Denne anmodning er ikke tilladt. 213 00:10:13,020 --> 00:10:15,320 Ressourcen findes på serveren. 214 00:10:15,320 --> 00:10:17,817 Men du har ikke tilladelse til at få adgang til det. 215 00:10:17,817 --> 00:10:20,900 Dette er normalt interne filer, bor på serveren af ​​forskellige årsager 216 00:10:20,900 --> 00:10:23,860 men er ikke beregnet til at være adgang til fra omverdenen, 217 00:10:23,860 --> 00:10:25,030 og så de er forbudt. 218 00:10:25,030 --> 00:10:27,120 De bor der. 219 00:10:27,120 --> 00:10:28,440 Jeg siger ikke, jeg kan ikke finde den. 220 00:10:28,440 --> 00:10:30,030 Men jeg siger, jeg kan ikke give det til dig. 221 00:10:30,030 --> 00:10:32,071 Og det gør ikke noget, hvis du er logget ind eller ej. 222 00:10:32,071 --> 00:10:35,479 Og så selvfølgelig, at meget almindelig 404 Ikke fundet. 223 00:10:35,479 --> 00:10:37,020 Filen findes ikke på serveren. 224 00:10:37,020 --> 00:10:40,200 Jeg vil gerne tilfredsstille Deres anmodning, men jeg kan ikke. 225 00:10:40,200 --> 00:10:43,390 >> Du også nogle gange se server fejl, den mest almindelige generelt 226 00:10:43,390 --> 00:10:46,990 være 500 Internal Server Error, som faktisk ikke fortælle dig noget 227 00:10:46,990 --> 00:10:50,200 overhovedet om, hvad der er gået galt. 228 00:10:50,200 --> 00:10:53,290 Men det er faktisk ikke du gør en fejl i din anmodning. 229 00:10:53,290 --> 00:10:58,200 Det er faktisk serveren ikke at levere på anmodningen eller anden måde. 230 00:10:58,200 --> 00:11:00,040 Så 500 er den generelle respons. 231 00:11:00,040 --> 00:11:03,190 >> Du vil også se noget Ligesom Tjenesten er ikke tilgængelig, 232 00:11:03,190 --> 00:11:05,720 som jeg mener er kode 503. 233 00:11:05,720 --> 00:11:07,882 Og Gateway Timeout-- hvis du nogensinde haft en side bare 234 00:11:07,882 --> 00:11:09,590 sidde der lastning og lastning og lastning 235 00:11:09,590 --> 00:11:12,715 og du ved aldrig, hvis det kommer til at belastning og så til sidst det bare says-- 236 00:11:12,715 --> 00:11:13,650 bare giver op. 237 00:11:13,650 --> 00:11:15,460 Det er en 504 Gateway timeout. 238 00:11:15,460 --> 00:11:17,600 Serveren ønskede at udføre din anmodning, 239 00:11:17,600 --> 00:11:19,930 men noget gik galt på serveren side-- 240 00:11:19,930 --> 00:11:24,452 ikke på din side-- til forårsage, at det er et problem. 241 00:11:24,452 --> 00:11:27,410 Nu kunne vi afslutte historien her, men hvad jeg egentlig vil gøre nu 242 00:11:27,410 --> 00:11:29,368 er jeg har tænkt mig at åbne op min browser og vise dig 243 00:11:29,368 --> 00:11:32,250 hvordan du kan være i stand til at se nogle af disse statuskoder 244 00:11:32,250 --> 00:11:34,580 selvom du normalt ikke ser dem. 245 00:11:34,580 --> 00:11:39,090 Og vi vil gøre det ved at tage et kig på nogle udviklingsværktøjer. 246 00:11:39,090 --> 00:11:42,050 >> Okay Så her er jeg nu i min browser vindue. 247 00:11:42,050 --> 00:11:45,840 Og jeg ønsker at lære en lille smule mere om disse HTTP-anmodninger. 248 00:11:45,840 --> 00:11:49,060 Hvordan kan jeg know-- sikkert vi vide, om et side goes-- når noget går galt, 249 00:11:49,060 --> 00:11:49,630 vi får en 404. 250 00:11:49,630 --> 00:11:50,465 Vi har alle set det. 251 00:11:50,465 --> 00:11:51,840 Vi behøver ikke at illustrere, at. 252 00:11:51,840 --> 00:11:53,048 Men hvad er nogle andre dem? 253 00:11:53,048 --> 00:11:56,850 Og hvordan ville vi se, disse anmodninger i aktion? 254 00:11:56,850 --> 00:11:59,990 >> Så første ting jeg vil gøre, er at åbne op for Developer Tools. 255 00:11:59,990 --> 00:12:02,580 Så Developer Tools er bygget i de fleste moderne browsere 256 00:12:02,580 --> 00:12:06,020 og give os mulighed for at se tingene at vi ikke på anden måde 257 00:12:06,020 --> 00:12:10,580 see-- nogle ekstra oplysninger slags transmitteres nedenunder vores web 258 00:12:10,580 --> 00:12:11,500 anmodninger. 259 00:12:11,500 --> 00:12:12,790 Jeg bruger Google Chrome her. 260 00:12:12,790 --> 00:12:16,900 Og til at åbne Developer Tools i Chrome, du bare trykke F-12, 261 00:12:16,900 --> 00:12:18,729 og det kommer til at åbne det op på siden. 262 00:12:18,729 --> 00:12:21,770 Når jeg skriver anmodningen, vil jeg zoome ind så vi kan se, hvad der foregår her. 263 00:12:21,770 --> 00:12:28,530 Men hvad jeg har tænkt mig at gøre i min browser bar is-- og jeg vil zoome ind over her-- 264 00:12:28,530 --> 00:12:32,427 Jeg vil fremsætte en anmodning til www.google.com. 265 00:12:32,427 --> 00:12:34,260 Vi har alle sandsynligvis gjort denne anmodning før. 266 00:12:34,260 --> 00:12:35,400 Jeg har tænkt mig at trykke Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Nu herovre i min Udvikler Værktøjer, jeg har valgt på fanen Netværk. 269 00:12:46,400 --> 00:12:48,010 Og du bemærker en masse ting her. 270 00:12:48,010 --> 00:12:51,732 Kig på these-- 200 OK, 200 OK, nogle af disse statuskoder kommer op. 271 00:12:51,732 --> 00:12:53,356 Jeg ved ikke, hvorfor jeg får 302 Found. 272 00:12:53,356 --> 00:12:54,860 Jeg var ikke klar over jeg ville se at en. 273 00:12:54,860 --> 00:12:58,192 Men dybest set mærke til, at temmelig meget, hvad angår min Google request-- 274 00:12:58,192 --> 00:13:00,150 Jeg lavede en meget simpel anmodning om Googles side. 275 00:13:00,150 --> 00:13:02,890 Og i færd med at levere min anmodning, 276 00:13:02,890 --> 00:13:05,670 Google har tilsyneladende gjort en masse andre anmodninger på mine vegne. 277 00:13:05,670 --> 00:13:11,990 >> Men jeg har lavet en get anmodning om Googles side, og jeg får en masse på 200 oks. 278 00:13:11,990 --> 00:13:14,830 Jeg kan ikke se 200 OK på min skærm, men jeg får 279 00:13:14,830 --> 00:13:17,170 en masse anmodninger, der er foretaget. 280 00:13:17,170 --> 00:13:19,550 Et mere at jeg er temmelig sikker kommer til at arbejde 281 00:13:19,550 --> 00:13:21,920 is-- for dem af jer, der er virkelig old-school, 282 00:13:21,920 --> 00:13:26,012 du kan vide, at Facebook var ikke altid på Facebook.com. 283 00:13:26,012 --> 00:13:29,780 Det var i sin vorden på wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 De tilsyneladende ikke kunne få adgang til Facebook.com for ganske lidt. 285 00:13:33,560 --> 00:13:35,870 >> Og så hvad jeg forventer her er at få oplysninger. 286 00:13:35,870 --> 00:13:37,315 Og vi vil se, om dette pander ud. 287 00:13:37,315 --> 00:13:39,190 Hvad jeg forventer her er at få oplysninger 288 00:13:39,190 --> 00:13:43,980 at Facebook er flyttet permanent fra thefacebook.com til Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Så jeg forventer et sted nær toppen af ​​mine anmodninger 290 00:13:46,830 --> 00:13:50,730 ovre i min Developer Tools at få en 301 meddelelse 291 00:13:50,730 --> 00:13:52,580 at Facebook er flyttet permanent. 292 00:13:52,580 --> 00:13:59,070 Igen vil jeg ikke se 301 på min browser skærmen. 293 00:13:59,070 --> 00:14:01,380 Og fordi det er en 301, det er en permanent flytning. 294 00:14:01,380 --> 00:14:03,500 Min browser, er, at Det er en moderne browser, 295 00:14:03,500 --> 00:14:06,110 er sandsynligvis vil omdirigere mig til Facebook.com alligevel. 296 00:14:06,110 --> 00:14:07,260 Men lad os se hvad der sker. 297 00:14:07,260 --> 00:14:09,340 >> Og nu jeg har tænkt mig at gå til thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 Og jep, der er det helt i top. 299 00:14:11,370 --> 00:14:13,390 Det gik væk, men det var der. 300 00:14:13,390 --> 00:14:14,820 Lad mig rulle op her. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Lige her i toppen. 303 00:14:18,920 --> 00:14:23,080 Jeg gjorde en anmodning til thefacebook.com, og jeg får et svar 304 00:14:23,080 --> 00:14:25,410 at denne side er flyttet permanent. 305 00:14:25,410 --> 00:14:27,770 Og så 307 her er en intern omdirigering. 306 00:14:27,770 --> 00:14:30,680 Og så dette er hvad der faktisk flyttet mig til den langt mere 307 00:14:30,680 --> 00:14:33,330 velkendte www.facebook.com. 308 00:14:33,330 --> 00:14:38,480 >> Så disse svarkoder gør stadig ske, selv om vi ikke ser dem. 309 00:14:38,480 --> 00:14:40,710 Jeg har ikke tænkt mig at illustrerer 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 fordi du har sikkert set dem på forskellige punkter. 311 00:14:43,090 --> 00:14:45,740 Og 500, ville jeg bare være slags of-- vi ville få heldig 312 00:14:45,740 --> 00:14:50,380 hvis fik en 500, fordi vi ikke ved, hvad servere er i øjeblikket nede overalt. 313 00:14:50,380 --> 00:14:53,060 Men disse koder gøre findes, og der er en måde 314 00:14:53,060 --> 00:14:58,610 at få adgang til dem, selvom vi ikke se dem på første hånd på vores systemer. 315 00:14:58,610 --> 00:14:59,530 Jeg er Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Det er CS50. 317 00:15:01,570 --> 00:15:03,557