1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> Speak: Låt oss tala om en annan protocol-- Hypertext Transfer 3 00:00:09,310 --> 00:00:12,060 Protokoll eller HTTP. 4 00:00:12,060 --> 00:00:15,074 Så vi har pratat om IP och TCP i tidigare filmer. 5 00:00:15,074 --> 00:00:17,240 Och de är protokoll att diktera hur information 6 00:00:17,240 --> 00:00:20,970 flyttar från maskin till maskin och från program till program eller tjänster 7 00:00:20,970 --> 00:00:27,720 att via Internet, via detta nätverk av routrar och maskiner. 8 00:00:27,720 --> 00:00:30,640 >> Men det är oftast inte hela bilden, eller hur? 9 00:00:30,640 --> 00:00:33,530 Vanligtvis när vi skickar information programmet 10 00:00:33,530 --> 00:00:36,570 itself-- när data är emot, säg, till exempel, 11 00:00:36,570 --> 00:00:44,270 i e-post via TCP-port 25 eller webbsida förfrågan via port 80, 12 00:00:44,270 --> 00:00:48,220 det finns oftast ett regelsystem där att bearbeta vad jag har just fått. 13 00:00:48,220 --> 00:00:51,960 Och HTTP är ett exempel för att bara ett sådant protokoll. 14 00:00:51,960 --> 00:00:54,929 >> HTTP är den enda applikationslagret protokoll 15 00:00:54,929 --> 00:00:56,220 att vi kommer att prata om. 16 00:00:56,220 --> 00:00:59,660 Men det är en annan uppsättning av regler för hur 17 00:00:59,660 --> 00:01:02,790 information som skall sändas och bearbetas via internet. 18 00:01:02,790 --> 00:01:06,390 I synnerhet HTTP anger exakt hur 19 00:01:06,390 --> 00:01:11,300 man måste göra en begäran om en webbsida och exakt hur 20 00:01:11,300 --> 00:01:15,160 en server, en maskin som är värd webbsidor, 21 00:01:15,160 --> 00:01:17,840 levererar denna information tillbaka till kunderna. 22 00:01:17,840 --> 00:01:20,010 >> Så detta protokoll inte faktiskt har något 23 00:01:20,010 --> 00:01:22,270 att göra med hur information flyttar från punkt A 24 00:01:22,270 --> 00:01:26,090 till punkt B. Det är verkligen regelsystemet 25 00:01:26,090 --> 00:01:29,700 for-- det är i princip reglerna för engagemang för att arbeta med en webbsida, 26 00:01:29,700 --> 00:01:31,960 liknar när någon vågor sin hand på dig, 27 00:01:31,960 --> 00:01:33,410 du ska vinka tillbaka. 28 00:01:33,410 --> 00:01:36,280 Det är en slags konventionell humant protokoll. 29 00:01:36,280 --> 00:01:39,610 HTTP-protokollet bara säger, om du vill begära en bana 30 00:01:39,610 --> 00:01:42,730 sida, se till att din format utseende som this-- ungefär som formatering 31 00:01:42,730 --> 00:01:44,930 ett affärsbrev, till exempel. 32 00:01:44,930 --> 00:01:50,029 Och svaret kommer på samma sätt kommer enligt detta protokoll. 33 00:01:50,029 --> 00:01:51,820 Det finns andra applikationslagret protokoll 34 00:01:51,820 --> 00:01:53,380 att vi inte kommer att prata om i videor. 35 00:01:53,380 --> 00:01:55,790 Men dessa inkluderar saker som File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol för skicka e-post, den Datadistribution 37 00:01:59,200 --> 00:02:02,100 Service, Remote Desktop Protokoll, RDP, som 38 00:02:02,100 --> 00:02:05,590 används om du vill fjärråtkomst datorn från en annan dator, 39 00:02:05,590 --> 00:02:08,479 XMPP, som ofta är känd som Jabber eller chat, 40 00:02:08,479 --> 00:02:11,160 så detta är protokollet för att använda chattjänster. 41 00:02:11,160 --> 00:02:13,310 Och det finns många, många, många andra. 42 00:02:13,310 --> 00:02:15,900 >> Så varje gång du använder en tjänst, tjänsten 43 00:02:15,900 --> 00:02:18,930 förväntar uppgifter som skall received-- en begäran 44 00:02:18,930 --> 00:02:21,010 vara received-- i en mycket visst format 45 00:02:21,010 --> 00:02:24,070 och är skyldig att returnera information tillbaka 46 00:02:24,070 --> 00:02:27,190 i en mycket speciell format också. 47 00:02:27,190 --> 00:02:31,750 >> Så låt oss gå tillbaka till vår illustration vi vill prata med internet. 48 00:02:31,750 --> 00:02:34,810 Så vi är glada, och vi vill att gå till cats.com, eller hur? 49 00:02:34,810 --> 00:02:38,550 Så om vi bara talar till cats.com, vi kan säga något i stil med hey, 50 00:02:38,550 --> 00:02:39,720 kan jag se din hemsida? 51 00:02:39,720 --> 00:02:42,320 Och cats.com kommer förmodligen svara, ja, visst. 52 00:02:42,320 --> 00:02:43,440 Här får du. 53 00:02:43,440 --> 00:02:46,440 Så det är en mänsklig sort av fråga och svar. 54 00:02:46,440 --> 00:02:47,980 >> Vad ser det ut som i HTTP? 55 00:02:47,980 --> 00:02:51,340 Tja, det faktiskt ganska översätter ganska rent till ungefär så här. 56 00:02:51,340 --> 00:02:57,290 Vi kan säga GET / HTTP / 1.1 från värd cats.com. 57 00:02:57,290 --> 00:03:03,039 Så i princip vad jag gör här är ber om webbsidan www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Vi utelämnar vanligtvis snedstreck nuförtiden, men det skulle bara 59 00:03:05,330 --> 00:03:07,200 betyda cats.com hemsida. 60 00:03:07,200 --> 00:03:11,910 >> Åh, och förresten, jag kommer att med hjälp av HTTP-versionen 61 00:03:11,910 --> 00:03:14,182 1.1 för att kommunicera med dig. 62 00:03:14,182 --> 00:03:16,390 Det är typ av analogt med säger, liksom, förresten, 63 00:03:16,390 --> 00:03:17,870 Jag kommer att tala på franska, eller genom det sätt, 64 00:03:17,870 --> 00:03:19,370 Jag kommer att tala på engelska. 65 00:03:19,370 --> 00:03:22,160 Det är bara formatet av protokollet. 66 00:03:22,160 --> 00:03:25,050 Det är också 1,0, vilket är inte vanligt förekommande längre. 67 00:03:25,050 --> 00:03:30,615 Så jag talar HTTP 1.1, och Jag skulle vilja www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Vänligen få det för mig. 69 00:03:31,710 --> 00:03:34,610 >> Och sedan finns det andra uppgifter, too-- pricken, prick, pricka dit, 70 00:03:34,610 --> 00:03:38,234 som är information om vem du är så cats.com 71 00:03:38,234 --> 00:03:39,400 skulle veta var de ska skicka det. 72 00:03:39,400 --> 00:03:41,480 Men dessa är de två sorts kritiska delar 73 00:03:41,480 --> 00:03:44,000 i början av en HTTP request-- 74 00:03:44,000 --> 00:03:46,770 precis som när du startar en bokstav du säger, kära, tomt. 75 00:03:46,770 --> 00:03:49,710 Detta är mycket samma anda som det. 76 00:03:49,710 --> 00:03:52,370 >> Och om cats.com kommer att säger, åh, visst, här har du. 77 00:03:52,370 --> 00:03:55,590 De kan svara som this-- Jag är också svara. 78 00:03:55,590 --> 00:03:57,960 Jag talar också HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Din ansökan godkänns, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Vad du håller på att får är HTML och sedan 81 00:04:04,709 --> 00:04:06,250 dot, dot, dot lite extra information. 82 00:04:06,250 --> 00:04:10,620 Och längst ner på begäran är faktiskt HTML, 83 00:04:10,620 --> 00:04:16,339 märkningsspråket, den halt av cats.com hemsida. 84 00:04:16,339 --> 00:04:21,227 >> Så HTTP / 1.1-- Jag bekräftar din Begäran accepterades via HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Din ansökan godkändes. 86 00:04:22,310 --> 00:04:25,810 Jag kan ge dig vad du vill, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Du är på väg att ta emot HTML. 88 00:04:27,440 --> 00:04:30,450 Och så här är det HTML som du har begärt. 89 00:04:30,450 --> 00:04:33,930 >> Men ibland våra önskemål inte alltid gå ganska planenligt. 90 00:04:33,930 --> 00:04:37,100 Kan jag se din cats.html sidan? 91 00:04:37,100 --> 00:04:40,366 Tja, vad händer om de säger, vi inte har en cats.html sida, 92 00:04:40,366 --> 00:04:42,740 som verkar typ av orealistiska eftersom de är cats.com. 93 00:04:42,740 --> 00:04:44,400 Man skulle kunna tro att de skulle ha cats.html. 94 00:04:44,400 --> 00:04:45,420 Men OK. 95 00:04:45,420 --> 00:04:48,484 Så det här är typ av konventionell mänsklig 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 Hur det översätta? 98 00:04:51,060 --> 00:04:52,726 >> Detta kan vara något bekant för dig. 99 00:04:52,726 --> 00:04:55,690 Vår begäran såg exakt samma, utom i stället för att få snedstreck 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å nu vad som i grunden hela denna begäran säger är snälla ge 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ärden och mitten en del av den översta raden 104 00:05:08,700 --> 00:05:14,632 det ange exakt vilken sida jag ber om. 105 00:05:14,632 --> 00:05:17,590 Men cats.com i detta fall inte kommer att kunna reagera positivt. 106 00:05:17,590 --> 00:05:19,089 De vet inte att vi pratar om. 107 00:05:19,089 --> 00:05:25,170 Och så detta är något du kan ha sett before-- HTTP 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Jag kunde inte hitta vad du efterfrågar. 109 00:05:27,180 --> 00:05:30,460 Förresten, jag kommer att ge dig tillbaka någon HTML, och oftast att HTML 110 00:05:30,460 --> 00:05:32,351 är innehållet i några 404-sida. 111 00:05:32,351 --> 00:05:34,100 Och i fallet med cats.com, är det förmodligen 112 00:05:34,100 --> 00:05:37,720 några gulliga katter i en korg med en sorglig 404 ansikte bredvid dem, 113 00:05:37,720 --> 00:05:40,920 eftersom du kommer att bli ledsen när du inte får sida 114 00:05:40,920 --> 00:05:43,040 att du letade efter. 115 00:05:43,040 --> 00:05:48,520 >> Det är typ av grunderna för vad ett protokoll, http-protokollet förfrågningar 116 00:05:48,520 --> 00:05:49,180 se ut som. 117 00:05:49,180 --> 00:05:52,640 De är verkligen liknar hur vi skulle göra en liknande interaktion 118 00:05:52,640 --> 00:05:55,460 på bara mänskliga konventioner ber om något 119 00:05:55,460 --> 00:05:58,250 och få det tillbaka eller skriva ett brev och förväntar sig ett svar 120 00:05:58,250 --> 00:06:00,380 bokstav i ett visst format. 121 00:06:00,380 --> 00:06:03,910 Det är ganska mycket vad HTTP bara canonicalizing 122 00:06:03,910 --> 00:06:10,190 för alla enheter som vill komma åt webbsidor, hyper överföringar. 123 00:06:10,190 --> 00:06:15,110 >> Så en linje i formuläret, detta metod begäran mål HTTP-versionen, 124 00:06:15,110 --> 00:06:17,100 kallas en HTTP-förfrågan linje. 125 00:06:17,100 --> 00:06:23,740 Det är oftast det första som är sänds som en del av en HTTP-begäran 126 00:06:23,740 --> 00:06:26,180 eller om du ber om HTTP. 127 00:06:26,180 --> 00:06:29,970 Det är ungefär som att, som jag sa, säger kära, tomt på toppen ditt brev. 128 00:06:29,970 --> 00:06:32,880 De vet att du är skriva ett brev till dem. 129 00:06:32,880 --> 00:06:34,796 Så det här är mycket lik att säga, jag vet 130 00:06:34,796 --> 00:06:37,670 att de gör en HTTP-begäran och detta är den särskilt format 131 00:06:37,670 --> 00:06:39,090 de ber om. 132 00:06:39,090 --> 00:06:43,810 >> HTTP-versionen är förmodligen kommer alltid att vara HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 finns också men är inte verkligen används längre. 134 00:06:46,670 --> 00:06:49,200 För ändamålen med CS50, GET är förmodligen alltid 135 00:06:49,200 --> 00:06:51,540 vad du kommer att bli att använda när du är faktiskt 136 00:06:51,540 --> 00:06:54,250 direktförsäljning HTTP-förfrågningar. 137 00:06:54,250 --> 00:06:57,720 Men POST är ett annat alternativ som vi är inte kommer att prata om just nu. 138 00:06:57,720 --> 00:07:02,980 Och sedan request-målet är vilken sida på värdens server 139 00:07:02,980 --> 00:07:05,812 du vill få. 140 00:07:05,812 --> 00:07:08,020 Som jag sa, att värdnamnet är en separat rad, vanligtvis 141 00:07:08,020 --> 00:07:10,350 den andra raden av den totala begäran. 142 00:07:10,350 --> 00:07:13,660 Och så tillsammans, värd namn och begäran målet 143 00:07:13,660 --> 00:07:16,070 ange en specifik resurs söks. 144 00:07:16,070 --> 00:07:20,986 I vårt 404 exempelvis en sekund sedan, jag bad igen för www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com som är värd. 146 00:07:22,940 --> 00:07:26,300 Och i min begäran linje, Jag sa /cats.html. 147 00:07:26,300 --> 00:07:27,790 Det var min begäran mål. 148 00:07:27,790 --> 00:07:31,200 Så totalt jag ber om innehåll eller resursen belägen 149 00:07:31,200 --> 00:07:36,410 vid www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> Och sedan beroende på om resursen finns 151 00:07:38,870 --> 00:07:42,160 och om servern kan leverera resursen i enlighet med kundens 152 00:07:42,160 --> 00:07:46,760 begäran kan du få olika statuskoder tillbaka. 153 00:07:46,760 --> 00:07:50,280 Några av dessa statuskoder du har sett eftersom de är en del av svaret. 154 00:07:50,280 --> 00:07:53,580 Några av dem, 200 OK, är förmodligen ganska tyst. 155 00:07:53,580 --> 00:07:55,650 Du har förmodligen aldrig sett en sida svarar 200 OK. 156 00:07:55,650 --> 00:07:56,890 Du får bara sidan. 157 00:07:56,890 --> 00:08:01,260 Det är inte som ett 404-fel, som vanligtvis är ganska tydlig. 158 00:08:01,260 --> 00:08:03,850 Du ser oftast att det står 404. 159 00:08:03,850 --> 00:08:06,880 >> Så låt oss tala om vad några av dessa statuskoder kan vara. 160 00:08:06,880 --> 00:08:09,660 Återigen, när servern svarar på oss, de är 161 00:08:09,660 --> 00:08:12,120 kommer att svara HTTP-versionen status. 162 00:08:12,120 --> 00:08:14,020 Vanligtvis HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Vilka är dessa statuskoder kommer att bli? 164 00:08:17,410 --> 00:08:18,890 Tja, kan vi få en framgång. 165 00:08:18,890 --> 00:08:23,617 Så i framgången kategori, vi kan få koden 200 med texten OK. 166 00:08:23,617 --> 00:08:24,450 Vad betyder det här? 167 00:08:24,450 --> 00:08:25,491 Tja, allt är bra. 168 00:08:25,491 --> 00:08:26,721 Du gjorde en giltig begäran. 169 00:08:26,721 --> 00:08:27,720 Här är ett giltigt svar. 170 00:08:27,720 --> 00:08:30,060 Jag kunde leverera precis vad du ville ha. 171 00:08:30,060 --> 00:08:33,080 >> Ibland kan du få annat att du inte kommer att märka direkt 172 00:08:33,080 --> 00:08:35,140 men är något fel. 173 00:08:35,140 --> 00:08:36,422 De är kallade omdirigeringar. 174 00:08:36,422 --> 00:08:37,630 Det finns två vanligaste här. 175 00:08:37,630 --> 00:08:41,520 301 _KUNENA_MOVED Permanently-- vad detta innebär i grunden 176 00:08:41,520 --> 00:08:43,559 är sidan ligger nu på en ny plats. 177 00:08:43,559 --> 00:08:44,920 Det kommer att leva där för evigt. 178 00:08:44,920 --> 00:08:47,150 Och de flesta webbläsare kommer automatiskt omdirigera dig. 179 00:08:47,150 --> 00:08:49,860 Så att du aldrig riktigt se en 301, heller, om du inte är 180 00:08:49,860 --> 00:08:52,210 med hjälp av en riktigt out-of-date webbläsare, eventuellt, 181 00:08:52,210 --> 00:08:57,660 eftersom 301 svaret är en del av pricken, pricka, punkt av 301 svar. 182 00:08:57,660 --> 00:08:59,577 Den berättar också om den nya sidan är. 183 00:08:59,577 --> 00:09:01,660 Och så de flesta webbläsare kommer bara omdirigera dig där, 184 00:09:01,660 --> 00:09:03,570 förutsatt att du vill gå dit. 185 00:09:03,570 --> 00:09:05,440 >> Ibland får du även 302 hittade. 186 00:09:05,440 --> 00:09:07,850 Och här du faktiskt kan fortfarande se ibland. 187 00:09:07,850 --> 00:09:09,720 Ibland sidor flyttar tillfälligt. 188 00:09:09,720 --> 00:09:13,570 Så det kommer inte att byggas in begäran träffande webbläsaren 189 00:09:13,570 --> 00:09:16,740 att permanent ändra helst Det ser begäran om att du 190 00:09:16,740 --> 00:09:18,255 göra för att ändra det till något annat. 191 00:09:18,255 --> 00:09:21,210 Så du kan se 302 Hittade, som i princip 192 00:09:21,210 --> 00:09:22,710 säger den här sidan bor någon annanstans. 193 00:09:22,710 --> 00:09:24,418 Men det kommer inte att leva det för evigt. 194 00:09:24,418 --> 00:09:29,052 Det kommer så småningom troligen att gå tillbaka till där du tror att det är. 195 00:09:29,052 --> 00:09:31,780 >> Då kommer du att få saker som klient fel. 196 00:09:31,780 --> 00:09:34,012 Så dessa är sådana som du har antagligen sett, nu. 197 00:09:34,012 --> 00:09:35,970 Du har förmodligen inte sett de 200s eller 300s, 198 00:09:35,970 --> 00:09:37,370 men du förmodligen bekant med 400s. 199 00:09:37,370 --> 00:09:40,130 Och det är vad vi ska prata om i en sekund, 500s också. 200 00:09:40,130 --> 00:09:42,580 >> Du kan se 401 Obehörig. 201 00:09:42,580 --> 00:09:45,100 Vanligtvis innebär att du är försöker komma åt en sida, 202 00:09:45,100 --> 00:09:46,230 men du har inte loggat in. 203 00:09:46,230 --> 00:09:50,500 Så du försöker och gå till vissa profil eller något på Facebook 204 00:09:50,500 --> 00:09:53,106 eller om du försöker och få tillgång till some-- du är på jobbet. 205 00:09:53,106 --> 00:09:56,619 Du försöker komma åt något på ditt arbete på internet, 206 00:09:56,619 --> 00:09:57,660 men du är inte inloggad. 207 00:09:57,660 --> 00:09:58,740 Du kan inte se sidan. 208 00:09:58,740 --> 00:10:01,770 Du kan få en 401 obehörig, vilket innebär att vi förmodligen 209 00:10:01,770 --> 00:10:06,590 kommer att kunna tillgodose denna begäran, men först måste du logga in för att göra det. 210 00:10:06,590 --> 00:10:09,590 >> Omvänt, kan du få 403 Förbjuden, vilket är det egentligen inte 211 00:10:09,590 --> 00:10:11,490 roll om du är inloggad eller inte. 212 00:10:11,490 --> 00:10:13,020 Denna begäran är inte tillåtet. 213 00:10:13,020 --> 00:10:15,320 Resursen existerar på servern. 214 00:10:15,320 --> 00:10:17,817 Men du inte får tillgång till det. 215 00:10:17,817 --> 00:10:20,900 Detta är oftast interna filer som lever på servern av olika skäl 216 00:10:20,900 --> 00:10:23,860 men är inte avsedda att vara nås från omvärlden, 217 00:10:23,860 --> 00:10:25,030 och så de är förbjudna. 218 00:10:25,030 --> 00:10:27,120 De bor där. 219 00:10:27,120 --> 00:10:28,440 Jag säger inte att jag kan inte hitta den. 220 00:10:28,440 --> 00:10:30,030 Men jag säger att jag inte kan ge den till dig. 221 00:10:30,030 --> 00:10:32,071 Och det spelar ingen roll om du är inloggad eller inte. 222 00:10:32,071 --> 00:10:35,479 Och sedan naturligtvis mycket vanliga 404 Not Found. 223 00:10:35,479 --> 00:10:37,020 Filen finns inte på servern. 224 00:10:37,020 --> 00:10:40,200 Jag skulle vilja att tillfredsställa din begäran, men jag kan inte. 225 00:10:40,200 --> 00:10:43,390 >> Du kan också ibland se server fel, den vanligaste i allmänhet 226 00:10:43,390 --> 00:10:46,990 är 500 Internal Server Error, som faktiskt inte berätta något 227 00:10:46,990 --> 00:10:50,200 alls om vad som har gått fel. 228 00:10:50,200 --> 00:10:53,290 Men det är faktiskt inte gör du ett fel i din förfrågan. 229 00:10:53,290 --> 00:10:58,200 Det är faktiskt servern misslyckas att leverera på begäran på något sätt. 230 00:10:58,200 --> 00:11:00,040 Så 500 är generellt svar. 231 00:11:00,040 --> 00:11:03,190 >> Du kommer också att se något som service Otillgänglig, 232 00:11:03,190 --> 00:11:05,720 som jag tror är kod 503. 233 00:11:05,720 --> 00:11:07,882 Och Gateway Timeout-- förekommande du någonsin haft en sida bara 234 00:11:07,882 --> 00:11:09,590 sitta där lastning och lastning och lastning 235 00:11:09,590 --> 00:11:12,715 och man vet aldrig om det kommer att belastning och sedan så småningom bara says-- 236 00:11:12,715 --> 00:11:13,650 bara ger upp. 237 00:11:13,650 --> 00:11:15,460 Det är en 504 Gateway Timeout. 238 00:11:15,460 --> 00:11:17,600 Servern ville köra din förfrågan, 239 00:11:17,600 --> 00:11:19,930 men något gick fel på servern side-- 240 00:11:19,930 --> 00:11:24,452 inte på din side-- till orsaka att för att vara ett problem. 241 00:11:24,452 --> 00:11:27,410 Nu kan vi avsluta historien här, men vad jag faktiskt kommer att göra nu 242 00:11:27,410 --> 00:11:29,368 är jag ska öppna upp min webbläsare och visa dig 243 00:11:29,368 --> 00:11:32,250 hur du skulle kunna se vissa av dessa statuskoder 244 00:11:32,250 --> 00:11:34,580 även om du i allmänhet inte ser dem. 245 00:11:34,580 --> 00:11:39,090 Och vi kommer att göra det genom att ta En titt på några utvecklingsverktyg. 246 00:11:39,090 --> 00:11:42,050 >> Okej Så här är jag nu i min webbläsarfönster. 247 00:11:42,050 --> 00:11:45,840 Och jag vill lära sig lite mer om dessa HTTP-förfrågningar. 248 00:11:45,840 --> 00:11:49,060 Hur gör jag vet-- säkert vi veta om en sida goes-- när något går fel, 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 alla sett det. 251 00:11:50,465 --> 00:11:51,840 Vi behöver inte för att illustrera detta. 252 00:11:51,840 --> 00:11:53,048 Men vad är några andra? 253 00:11:53,048 --> 00:11:56,850 Och hur skulle vi se dessa ansökningar i aktion? 254 00:11:56,850 --> 00:11:59,990 >> Så första jag tänker göra är att öppna upp Utvecklingsverktyg. 255 00:11:59,990 --> 00:12:02,580 Så Developer Tools byggs i de flesta moderna webbläsare 256 00:12:02,580 --> 00:12:06,020 och tillåter oss att se saker att vi inte annars 257 00:12:06,020 --> 00:12:10,580 see-- lite extra informations sorts överförs under vår hemsida 258 00:12:10,580 --> 00:12:11,500 förfrågningar. 259 00:12:11,500 --> 00:12:12,790 Jag använder Google Chrome här. 260 00:12:12,790 --> 00:12:16,900 Och för att öppna Utvecklingsverktyg i Chrome, bara slå dig F-12, 261 00:12:16,900 --> 00:12:18,729 och det kommer att öppna upp på sidan. 262 00:12:18,729 --> 00:12:21,770 När jag skriver denna begäran, ska jag zooma in så att vi kan se vad som händer här. 263 00:12:21,770 --> 00:12:28,530 Men vad jag ska göra i min webbläsare bar är-- och jag ska zooma in över här-- 264 00:12:28,530 --> 00:12:32,427 Jag kommer att göra en förfrågan till www.google.com. 265 00:12:32,427 --> 00:12:34,260 Vi har alla förmodligen gjort denna begäran innan. 266 00:12:34,260 --> 00:12:35,400 Jag kommer att slå Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Nu, över här i min Utvecklare Verktyg, har jag valt fliken Nätverk. 269 00:12:46,400 --> 00:12:48,010 Och du märker en hel del saker här. 270 00:12:48,010 --> 00:12:51,732 Titta på these-- 200 OK, 200 OK, vissa Dessa statuskoder kommer upp. 271 00:12:51,732 --> 00:12:53,356 Jag vet inte varför jag får 302 hittades. 272 00:12:53,356 --> 00:12:54,860 Jag insåg inte att jag skulle se den. 273 00:12:54,860 --> 00:12:58,192 Men i grund och botten märker det ganska mycket, när det gäller mitt Google request-- 274 00:12:58,192 --> 00:13:00,150 Jag gjorde en mycket enkel begäran om Googles sida. 275 00:13:00,150 --> 00:13:02,890 Och i processen för leverera min begäran, 276 00:13:02,890 --> 00:13:05,670 Google har uppenbarligen gjort en hel del andra förfrågningar på min räkning. 277 00:13:05,670 --> 00:13:11,990 >> Men jag har gjort en get begäran om Googles sida och jag får en hel del 200 OKs. 278 00:13:11,990 --> 00:13:14,830 Jag ser 200 OK på min skärm, men jag får 279 00:13:14,830 --> 00:13:17,170 en hel del förfrågningar som har gjorts. 280 00:13:17,170 --> 00:13:19,550 En mer att jag är ganska säkert kommer att fungera 281 00:13:19,550 --> 00:13:21,920 är-- för dem av er som är verkligen old-school, 282 00:13:21,920 --> 00:13:26,012 du kanske vet att Facebook var inte alltid på Facebook.com. 283 00:13:26,012 --> 00:13:29,780 I sina tidiga dagar var det på wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 De uppenbarligen inte kunde få tillgång till Facebook.com för mycket ett tag. 285 00:13:33,560 --> 00:13:35,870 >> Och så vad jag förväntar här är att få information. 286 00:13:35,870 --> 00:13:37,315 Och vi får se om det kokkärl ut. 287 00:13:37,315 --> 00:13:39,190 Vad jag förväntar här är att få information 288 00:13:39,190 --> 00:13:43,980 att Facebook har flyttat permanent från thefacebook.com till Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Så jag väntar någonstans nära toppen av min begäran 290 00:13:46,830 --> 00:13:50,730 över i min Utvecklingsverktyg att få en 301 anmälan 291 00:13:50,730 --> 00:13:52,580 att Facebook har flyttat permanent. 292 00:13:52,580 --> 00:13:59,070 Återigen kommer jag inte 301 på min webbläsare skärmen. 293 00:13:59,070 --> 00:14:01,380 Och eftersom det är en 301, Det är en permanent flytta. 294 00:14:01,380 --> 00:14:03,500 Min webbläsare, är att Det är en modern webbläsare, 295 00:14:03,500 --> 00:14:06,110 är förmodligen kommer att omdirigera mig till Facebook.com ändå. 296 00:14:06,110 --> 00:14:07,260 Men låt oss se vad som händer. 297 00:14:07,260 --> 00:14:09,340 >> Och nu ska jag till gå till thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 Och japp, det är där rätt överst. 299 00:14:11,370 --> 00:14:13,390 Det gick bort, men det var där. 300 00:14:13,390 --> 00:14:14,820 Låt mig rulla upp här. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Här på toppen. 303 00:14:18,920 --> 00:14:23,080 Jag gjorde en förfrågan till thefacebook.com, och jag får ett svar 304 00:14:23,080 --> 00:14:25,410 att den här sidan har flyttat permanent. 305 00:14:25,410 --> 00:14:27,770 Och sedan 307 här är en intern omdirigering. 306 00:14:27,770 --> 00:14:30,680 Och så det här är vad som faktiskt flyttade mig till mycket mer 307 00:14:30,680 --> 00:14:33,330 bekant www.facebook.com. 308 00:14:33,330 --> 00:14:38,480 >> Så dessa svarskoder gör fortfarande hända, även om vi inte ser dem. 309 00:14:38,480 --> 00:14:40,710 Jag tänker inte illustrera 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 eftersom du har förmodligen sett de som på olika punkter. 311 00:14:43,090 --> 00:14:45,740 Och 500, skulle jag bara vara typ of-- vi skulle ha tur 312 00:14:45,740 --> 00:14:50,380 om fick en 500, eftersom vi inte vet vad servrar finns för närvarande ned någonstans. 313 00:14:50,380 --> 00:14:53,060 Men dessa koder göra existerar, och det finns ett sätt 314 00:14:53,060 --> 00:14:58,610 att få tillgång till dem, även om vi inte se dem med egna ögon på våra system. 315 00:14:58,610 --> 00:14:59,530 Jag är Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Detta är CS50. 317 00:15:01,570 --> 00:15:03,557