1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: Razgovarajmo o drugo protocol-- HyperText Transfer 3 00:00:09,310 --> 00:00:12,060 Protokol, ili HTTP. 4 00:00:12,060 --> 00:00:15,074 Tako smo razgovarali o IP i TCP prethodnih videa. 5 00:00:15,074 --> 00:00:17,240 A oni su protokoli koji diktiraju kako informacije 6 00:00:17,240 --> 00:00:20,970 kreće od stroja do stroja i od programa do programa ili usluge 7 00:00:20,970 --> 00:00:27,720 za uslugu putem interneta, preko Ova mreža usmjerivač i strojeva. 8 00:00:27,720 --> 00:00:30,640 >> Ali to obično nisu cijela slika, zar ne? 9 00:00:30,640 --> 00:00:33,530 Obično kada smo poslali informacije, program 10 00:00:33,530 --> 00:00:36,570 itself-- kada podaci primili, recimo, na primjer, 11 00:00:36,570 --> 00:00:44,270 u e-mail preko TCP port 25 ili njegove Zahtjev web stranice preko porta 80, 12 00:00:44,270 --> 00:00:48,220 obično postoji sustav pravila postoji obraditi ono što sam upravo primio. 13 00:00:48,220 --> 00:00:51,960 I HTTP je primjer od samo takve protokola. 14 00:00:51,960 --> 00:00:54,929 >> HTTP jedini protokol aplikacijski sloj 15 00:00:54,929 --> 00:00:56,220 da ćemo razgovarati o tome. 16 00:00:56,220 --> 00:00:59,660 Ali, to je još jedan skup pravila diktiraju kako 17 00:00:59,660 --> 00:01:02,790 informacije koje se prenose i obrađuju putem interneta. 18 00:01:02,790 --> 00:01:06,390 Konkretno, HTTP navodi kako je točno 19 00:01:06,390 --> 00:01:11,300 mora podnijeti zahtjev za web-stranica i točno kako 20 00:01:11,300 --> 00:01:15,160 poslužitelja, stroj koje domaćini web stranice, 21 00:01:15,160 --> 00:01:17,840 donosi tu informaciju natrag klijentima. 22 00:01:17,840 --> 00:01:20,010 >> Dakle, ovaj protokol ne zapravo ništa 23 00:01:20,010 --> 00:01:22,270 učiniti s koliko informacija kreće od točke A 24 00:01:22,270 --> 00:01:26,090 do točke B. To je stvarno sustav pravila 25 00:01:26,090 --> 00:01:29,700 for-- to je u osnovi pravila angažman za rad s web stranice, 26 00:01:29,700 --> 00:01:31,960 slično kad netko Valovi svoje ruke na vas, 27 00:01:31,960 --> 00:01:33,410 ti si trebao uzvratio. 28 00:01:33,410 --> 00:01:36,280 To je neka vrsta konvencionalna ljudski protokol. 29 00:01:36,280 --> 00:01:39,610 HTTP protokol jednostavno kaže, ako Želite li zatražiti web 30 00:01:39,610 --> 00:01:42,730 stranica, provjerite je li vaš format izgleda kao this-- Nešto poput oblikovanja 31 00:01:42,730 --> 00:01:44,930 poslovno pismo, npr. 32 00:01:44,930 --> 00:01:50,029 A odgovor će na sličan način dolaze prema ovom protokolu. 33 00:01:50,029 --> 00:01:51,820 Postoje i druge aplikacijski sloj protokola 34 00:01:51,820 --> 00:01:53,380 da mi se ne ide na razgovarati o u spotovima. 35 00:01:53,380 --> 00:01:55,790 No, to uključuje stvari kao što su File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protokol slanje e-pošte, Distribucija podataka 37 00:01:59,200 --> 00:02:02,100 Usluga, Remote Desktop Protokol, RDP, koji 38 00:02:02,100 --> 00:02:05,590 koristi ako želite daljinski pristup računalo s drugog računala, 39 00:02:05,590 --> 00:02:08,479 XMPP, što je često poznat kao Jabber ili chata, 40 00:02:08,479 --> 00:02:11,160 pa to je protokol za korištenje chat usluge. 41 00:02:11,160 --> 00:02:13,310 A tu su i mnogi, mnogi, mnogi drugi. 42 00:02:13,310 --> 00:02:15,900 >> Zato svaki put kada koristite usluga, usluga 43 00:02:15,900 --> 00:02:18,930 očekuje podatke biti received-- zahtjev 44 00:02:18,930 --> 00:02:21,010 biti received-- u vrlo posebno formatu 45 00:02:21,010 --> 00:02:24,070 te je potrebno da vratiti podatke natrag 46 00:02:24,070 --> 00:02:27,190 na poseban oblik i. 47 00:02:27,190 --> 00:02:31,750 >> Tako ćemo se vratiti na našem crtežu od nas želi razgovarati s interneta. 48 00:02:31,750 --> 00:02:34,810 Tako smo sretni i želimo ići na cats.com, zar ne? 49 00:02:34,810 --> 00:02:38,550 Dakle, ako mi samo govorimo da cats.com, mogli bismo reći nešto poput hej, 50 00:02:38,550 --> 00:02:39,720 mogu vidjeti vašu početnu stranicu? 51 00:02:39,720 --> 00:02:42,320 I cats.com vjerojatno će odgovoriti, da, sigurno. 52 00:02:42,320 --> 00:02:43,440 Izvoli. 53 00:02:43,440 --> 00:02:46,440 Tako da je ljudsko vrsta ASK-a-odgovor. 54 00:02:46,440 --> 00:02:47,980 >> Što to izgledati u HTTP? 55 00:02:47,980 --> 00:02:51,340 Pa, to je zapravo vrsta prevodi prilično čisto ovako nešto. 56 00:02:51,340 --> 00:02:57,290 Mogli bismo reći GET / HTTP / 1.1 od domaćina cats.com. 57 00:02:57,290 --> 00:03:03,039 Tako je u osnovi ono što ja radim ovdje traži web stranice www.cats.com/~~pobj. 58 00:03:03,039 --> 00:03:05,330 Mi obično izostaviti udarac samo danas, ali to bi 59 00:03:05,330 --> 00:03:07,200 znači cats.com početnu stranicu. 60 00:03:07,200 --> 00:03:11,910 >> Oh, i usput, idem da se pomoću HTTP verziju 61 00:03:11,910 --> 00:03:14,182 1.1 komunicirati s vama. 62 00:03:14,182 --> 00:03:16,390 To je vrsta analogne govoreći, kao što je, usput, 63 00:03:16,390 --> 00:03:17,870 Idem se govori na francuskom, ili na putu, 64 00:03:17,870 --> 00:03:19,370 Ja ću biti govori na engleskom jeziku. 65 00:03:19,370 --> 00:03:22,160 To je samo oblik protokola. 66 00:03:22,160 --> 00:03:25,050 Također je 1,0, što je ne obično koriste više. 67 00:03:25,050 --> 00:03:30,615 Tako sam govorio HTTP 1.1, a Želim www.cats.com/~~dobj. 68 00:03:30,615 --> 00:03:31,710 Molimo dobili da je za mene. 69 00:03:31,710 --> 00:03:34,610 >> A tu je i druge podatke, too-- točka, točka, točka postoji, 70 00:03:34,610 --> 00:03:38,234 što je podatak o tko si tako cats.com 71 00:03:38,234 --> 00:03:39,400 bi znati gdje poslati ga. 72 00:03:39,400 --> 00:03:41,480 No, to su dva vrsta kritičnih dijelova 73 00:03:41,480 --> 00:03:44,000 na samom početku HTTP request-- 74 00:03:44,000 --> 00:03:46,770 baš kao kada pokrenete Pismo koje kažu, draga, prazno. 75 00:03:46,770 --> 00:03:49,710 To je vrlo slično u duhu na to. 76 00:03:49,710 --> 00:03:52,370 >> A ako cats.com će kažu, oh, jeste, ovdje te ići. 77 00:03:52,370 --> 00:03:55,590 Oni mogu odgovoriti kao this-- ja sam reagirati. 78 00:03:55,590 --> 00:03:57,960 Također govorim HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Vaš zahtjev odobren, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Što ste o dobivaju je HTML, a zatim 81 00:04:04,709 --> 00:04:06,250 točka, točka, točka neke dodatne podatke. 82 00:04:06,250 --> 00:04:10,620 A na samom dnu Zahtjev je zapravo HTML, 83 00:04:10,620 --> 00:04:16,339 označni jezik je Sadržaj cats.com početnu stranicu. 84 00:04:16,339 --> 00:04:21,227 >> Dakle HTTP / 1.1-- sam potvrđujete da Zahtjev je prihvaćen preko HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Vaš zahtjev je odobren. 86 00:04:22,310 --> 00:04:25,810 Mogu vam dati ono što želite, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Vi ste o dobiti HTML. 88 00:04:27,440 --> 00:04:30,450 I onda ovdje je HTML koji ste tražili. 89 00:04:30,450 --> 00:04:33,930 >> Ali ponekad naši zahtjevi ne uvijek ići baš po planu. 90 00:04:33,930 --> 00:04:37,100 Mogu li vidjeti vašu cats.html stranicu? 91 00:04:37,100 --> 00:04:40,366 Pa, što ako oni kažu, mi nemaju stranicu cats.html, 92 00:04:40,366 --> 00:04:42,740 što se čini vrsta nerealno jer oni cats.com. 93 00:04:42,740 --> 00:04:44,400 Čovjek bi pomislio da bi cats.html. 94 00:04:44,400 --> 00:04:45,420 Ali OK. 95 00:04:45,420 --> 00:04:48,484 Dakle, to je vrsta od konvencionalni ljudske interakcije 96 00:04:48,484 --> 00:04:49,650 sada smo imali s cats.com. 97 00:04:49,650 --> 00:04:51,060 Kako to prevesti? 98 00:04:51,060 --> 00:04:52,726 >> To bi moglo biti nešto upoznat s tobom. 99 00:04:52,726 --> 00:04:55,690 Naš zahtjev je izgledao isti, osim umjesto uzimajući slash 100 00:04:55,690 --> 00:04:58,110 sada dobivamo cats.html. 101 00:04:58,110 --> 00:05:01,810 I što sada zapravo to cijelo Zahtjev govori se molim vas dajte mi 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Dakle domaćina i sredine dio tog gornjem retku 104 00:05:08,700 --> 00:05:14,632 Postoji pokazuju upravo ono stranica tražim. 105 00:05:14,632 --> 00:05:17,590 No cats.com u ovom slučaju ne ide biti u mogućnosti odgovoriti pozitivno. 106 00:05:17,590 --> 00:05:19,089 Oni ne znaju što pričaju. 107 00:05:19,089 --> 00:05:25,170 I tako je to nešto što bi moglo imati Vidio before-- HTTP 1.1 404 nije pronađen. 108 00:05:25,170 --> 00:05:27,180 Nisam mogao naći ono što što su tražili. 109 00:05:27,180 --> 00:05:30,460 Usput, ja ću vam dati natrag neke HTML, i obično to HTML 110 00:05:30,460 --> 00:05:32,351 je sadržaj nekih 404 stranica. 111 00:05:32,351 --> 00:05:34,100 A u slučaju cats.com, to je vjerojatno 112 00:05:34,100 --> 00:05:37,720 neke slatka mačke u košari s tužno 404 lice pored njih, 113 00:05:37,720 --> 00:05:40,920 jer ti ćeš biti tužna kada ne dobijete stranicu 114 00:05:40,920 --> 00:05:43,040 da ste bili u potrazi za. 115 00:05:43,040 --> 00:05:48,520 >> To je vrsta osnovama što protokol, zahtjevi HTTP protokol 116 00:05:48,520 --> 00:05:49,180 izgledati. 117 00:05:49,180 --> 00:05:52,640 Oni su jako slični kako smo bi sličan interakciju 118 00:05:52,640 --> 00:05:55,460 u samo ljudskim konvencijama tražeći nešto 119 00:05:55,460 --> 00:05:58,250 i uzimajući ga natrag ili pisanje pismo i očekuju odgovor 120 00:05:58,250 --> 00:06:00,380 pismo u određenom formatu. 121 00:06:00,380 --> 00:06:03,910 To je ljepušan velik dio onoga što HTTP je samo canonicalizing 122 00:06:03,910 --> 00:06:10,190 za sve uređaje koje žele pristupiti web stranice, hipertekst transferi. 123 00:06:10,190 --> 00:06:15,110 >> Dakle linija obliku, to Metoda zahtjev meta HTTP verziju, 124 00:06:15,110 --> 00:06:17,100 zove HTTP zahtjev liniju. 125 00:06:17,100 --> 00:06:23,740 To je obično prva stvar koja je prenosi kao dio HTTP zahtjev 126 00:06:23,740 --> 00:06:26,180 ili ako tražimo za HTTP. 127 00:06:26,180 --> 00:06:29,970 To je vrsta kao što, kao što sam rekao, govoreći draga, prazno na vrhu vaše pismo. 128 00:06:29,970 --> 00:06:32,880 Oni znaju da si pisanje im pismo. 129 00:06:32,880 --> 00:06:34,796 Dakle, to je vrlo sličan kako kaže, ja znam 130 00:06:34,796 --> 00:06:37,670 da oni što HTTP zahtjev i to je posebno oblik 131 00:06:37,670 --> 00:06:39,090 oni traže. 132 00:06:39,090 --> 00:06:43,810 >> HTTP verziju je vjerojatno Uvijek će biti HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1,0 također postoji, ali se ne stvarno koristi više. 134 00:06:46,670 --> 00:06:49,200 Za potrebe CS50, GET je vjerojatno uvijek 135 00:06:49,200 --> 00:06:51,540 ono što će biti koristite kad ste zapravo 136 00:06:51,540 --> 00:06:54,250 obavljanje izravne HTTP zahtjeve. 137 00:06:54,250 --> 00:06:57,720 Ali POST je još jedna mogućnost da smo ne ide razgovarati o sada. 138 00:06:57,720 --> 00:07:02,980 A onda je zahtjev-meta ono stranicu na domaćina poslužitelj 139 00:07:02,980 --> 00:07:05,812 želite dobiti. 140 00:07:05,812 --> 00:07:08,020 Kao što sam rekao, da je ime računala je zasebna linija, najčešće 141 00:07:08,020 --> 00:07:10,350 U drugom redu od ukupnog zahtjeva. 142 00:07:10,350 --> 00:07:13,660 I tako uzeti zajedno, domaćin ime i meta zahtjev 143 00:07:13,660 --> 00:07:16,070 odrediti specifična resurs se traži. 144 00:07:16,070 --> 00:07:20,986 U našem primjeru 404 sekunde prije, sam ponovno traži www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com biti domaćin. 146 00:07:22,940 --> 00:07:26,300 I u mom zahtjev liniji, Rekao sam /cats.html. 147 00:07:26,300 --> 00:07:27,790 To je moja ciljna zahtjev. 148 00:07:27,790 --> 00:07:31,200 Dakle, sveukupno sam pitao za sadržaj ili resurs 149 00:07:31,200 --> 00:07:36,410 na www.cats.com/cats.html~~pobj. 150 00:07:36,410 --> 00:07:38,870 >> I onda na temelju bilo resurs postoji 151 00:07:38,870 --> 00:07:42,160 i da li poslužitelj može isporučiti resurs temelju klijenta 152 00:07:42,160 --> 00:07:46,760 Zahtjev, možda ćete dobiti različite šifre statusa natrag. 153 00:07:46,760 --> 00:07:50,280 Neke od ovih šifri statusa koje ste vidjeli jer oni su dio odgovora. 154 00:07:50,280 --> 00:07:53,580 Neki od njih, 200 je u redu, su vjerojatno prilično tiha. 155 00:07:53,580 --> 00:07:55,650 Vjerojatno ste nikada nije vidio stranica 200 odgovorite OK. 156 00:07:55,650 --> 00:07:56,890 Vi samo dobiti stranicu. 157 00:07:56,890 --> 00:08:01,260 To nije kao pogrešku 404, što je obično prilično jasno. 158 00:08:01,260 --> 00:08:03,850 Obično se vidi da ona kaže 404. 159 00:08:03,850 --> 00:08:06,880 >> Dakle, pričajmo o tome što su neki tih statusnih kodova moglo biti. 160 00:08:06,880 --> 00:08:09,660 Opet, kada server odgovara na nas, oni su 161 00:08:09,660 --> 00:08:12,120 će odgovoriti HTTP statusa verzije. 162 00:08:12,120 --> 00:08:14,020 Obično HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Koje su to šifre statusa će biti? 164 00:08:17,410 --> 00:08:18,890 Pa, mogli bismo dobiti uspjeh. 165 00:08:18,890 --> 00:08:23,617 Tako je u kategoriji uspjeh, mi može dobiti kod 200 s tekstom OK. 166 00:08:23,617 --> 00:08:24,450 Što to znači? 167 00:08:24,450 --> 00:08:25,491 Pa, sve je dobro. 168 00:08:25,491 --> 00:08:26,721 Ti su valjani zahtjev. 169 00:08:26,721 --> 00:08:27,720 Evo valjan odgovor. 170 00:08:27,720 --> 00:08:30,060 Bio sam u mogućnosti da dostavi točno ono što ste htjeli. 171 00:08:30,060 --> 00:08:33,080 >> Ponekad možda ćete dobiti druge stvari da nećete primijetiti odmah 172 00:08:33,080 --> 00:08:35,140 ali su nešto neuspjesi. 173 00:08:35,140 --> 00:08:36,422 Oni se nazivaju preusmjeravanja. 174 00:08:36,422 --> 00:08:37,630 Postoje dvije zajedničke one ovdje. 175 00:08:37,630 --> 00:08:41,520 301 premjeĹĄteni Permanently-- Što to zapravo znači 176 00:08:41,520 --> 00:08:43,559 je stranica sada na novoj lokaciji. 177 00:08:43,559 --> 00:08:44,920 Ona će tamo živjeti zauvijek. 178 00:08:44,920 --> 00:08:47,150 I većina preglednici vas automatski preusmjeriti. 179 00:08:47,150 --> 00:08:49,860 Tako da nikada nećete zaista vidjeti 301, ili, ako nisi 180 00:08:49,860 --> 00:08:52,210 koristite stvarno out-of-date preglednik, eventualno, 181 00:08:52,210 --> 00:08:57,660 jer je 301 odgovor dio točka, točka, točka od 301 odgovora. 182 00:08:57,660 --> 00:08:59,577 To vam također govori gdje je nova stranica je. 183 00:08:59,577 --> 00:09:01,660 I tako Većina preglednika Samo vas preusmjeriti tamo, 184 00:09:01,660 --> 00:09:03,570 uz pretpostavku da želite ići tamo. 185 00:09:03,570 --> 00:09:05,440 >> Ponekad ćete također dobiti 302 pronađeno. 186 00:09:05,440 --> 00:09:07,850 A ovaj što zapravo Možda još vidjeti povremeno. 187 00:09:07,850 --> 00:09:09,720 Ponekad stranice premjestiti privremeno. 188 00:09:09,720 --> 00:09:13,570 Dakle, to neće biti izgrađen u zahtjev reći preglednik 189 00:09:13,570 --> 00:09:16,740 trajno promijeniti u bilo koje vrijeme vidi zahtjev da vas 190 00:09:16,740 --> 00:09:18,255 čine ga promijeniti u nešto drugo. 191 00:09:18,255 --> 00:09:21,210 Tako možete vidjeti 302 Pronađeno, koji u osnovi 192 00:09:21,210 --> 00:09:22,710 kaže ovu stranicu živi negdje drugdje. 193 00:09:22,710 --> 00:09:24,418 Ali to neće tamo živjeti vječno. 194 00:09:24,418 --> 00:09:29,052 To će na kraju vjerojatno ići tamo gdje misliš da je. 195 00:09:29,052 --> 00:09:31,780 >> Tada ćete dobiti stvari kao klijent pogreške. 196 00:09:31,780 --> 00:09:34,012 Dakle, to su oni koje ste vjerojatno vidjeli, sada. 197 00:09:34,012 --> 00:09:35,970 Vjerojatno niste vidjeli su 200s ili 300S, 198 00:09:35,970 --> 00:09:37,370 ali vjerojatno ste upoznati s 400s. 199 00:09:37,370 --> 00:09:40,130 I to je ono što ćemo govoriti o u sekundi, 500S, kao dobro. 200 00:09:40,130 --> 00:09:42,580 >> Možda ćete vidjeti 401 Neovlaštena. 201 00:09:42,580 --> 00:09:45,100 Obično to znači da ste Pokušavam pristupiti stranici, 202 00:09:45,100 --> 00:09:46,230 ali niste prijavljeni. 203 00:09:46,230 --> 00:09:50,500 Dakle, probati i ići na neke profil ili nešto na Facebooku 204 00:09:50,500 --> 00:09:53,106 ili ste probati i pristup some-- ste na poslu. 205 00:09:53,106 --> 00:09:56,619 Pokušavate pristupiti nešto na posao je internet, 206 00:09:56,619 --> 00:09:57,660 ali niste prijavljeni. 207 00:09:57,660 --> 00:09:58,740 Ne možete vidjeti stranicu. 208 00:09:58,740 --> 00:10:01,770 Možda ćete dobiti 401 neovlašteno, što znači da je vjerojatno 209 00:10:01,770 --> 00:10:06,590 će biti u stanju zadovoljiti ovaj zahtjev, ali prvo trebate prijaviti za to. 210 00:10:06,590 --> 00:10:09,590 >> Isto tako, možda ćete dobiti 403 Zabranjeni, što je to zapravo ne 211 00:10:09,590 --> 00:10:11,490 bitno ako ste prijavljeni ili ne. 212 00:10:11,490 --> 00:10:13,020 Ovaj zahtjev nije dopušteno. 213 00:10:13,020 --> 00:10:15,320 Resurs postoji na poslužitelju. 214 00:10:15,320 --> 00:10:17,817 Ali ne smiju pristupiti. 215 00:10:17,817 --> 00:10:20,900 To je obično interni datoteke koje živjeti na poslužitelju raznih razloga 216 00:10:20,900 --> 00:10:23,860 ali nisu namijenjeni da budu pristupiti iz vanjskog svijeta, 217 00:10:23,860 --> 00:10:25,030 pa im je zabranjeno. 218 00:10:25,030 --> 00:10:27,120 Oni tamo žive. 219 00:10:27,120 --> 00:10:28,440 Ne kažem ja ne mogu ga naći. 220 00:10:28,440 --> 00:10:30,030 Ali ja govorim da ne mogu dati. 221 00:10:30,030 --> 00:10:32,071 I nije važno ako ste prijavljeni ili ne. 222 00:10:32,071 --> 00:10:35,479 I onda naravno, vrlo čest 404 nije pronađen. 223 00:10:35,479 --> 00:10:37,020 Datoteka ne postoji na poslužitelju. 224 00:10:37,020 --> 00:10:40,200 Želio bih zadovoljio Vaš zahtjev, ali ne mogu. 225 00:10:40,200 --> 00:10:43,390 >> Također se ponekad vidjeti poslužitelj pogreške, najčešći općenito 226 00:10:43,390 --> 00:10:46,990 se 500 Interna pogreška poslužitelja, koji ne zapravo vam reći ništa 227 00:10:46,990 --> 00:10:50,200 uopće o tome što je pošlo po zlu. 228 00:10:50,200 --> 00:10:53,290 Ali to nije zapravo radite pogreška u vašem zahtjevu. 229 00:10:53,290 --> 00:10:58,200 To je zapravo server nije dostaviti na zahtjev nekako. 230 00:10:58,200 --> 00:11:00,040 Dakle 500 je opći odgovor. 231 00:11:00,040 --> 00:11:03,190 >> Također ćete vidjeti nešto kao i usluge nedostupan, 232 00:11:03,190 --> 00:11:05,720 što vjerujem da je broj 503. 233 00:11:05,720 --> 00:11:07,882 I Gateway Timeout-- ako ste ikada imali stranicu samo 234 00:11:07,882 --> 00:11:09,590 sjediti utovar i utovar i utovar 235 00:11:09,590 --> 00:11:12,715 i nikad ne znate ako će se opterećenja i onda na kraju to samo says-- 236 00:11:12,715 --> 00:11:13,650 Samo odustaje. 237 00:11:13,650 --> 00:11:15,460 To je 504 Gateway Timeout. 238 00:11:15,460 --> 00:11:17,600 Poslužitelj htjela izvršiti vaš zahtjev, 239 00:11:17,600 --> 00:11:19,930 ali nešto je pošlo po krivu na poslužitelju side-- 240 00:11:19,930 --> 00:11:24,452 nije na side-- na uzrokovati da se problem. 241 00:11:24,452 --> 00:11:27,410 Sada smo mogli završiti priču ovdje, ali ono što sam zapravo ću učiniti sada 242 00:11:27,410 --> 00:11:29,368 je ću otvoriti moj preglednik i pokazati 243 00:11:29,368 --> 00:11:32,250 kako biste mogli vidjeti neki od tih kodova statusa 244 00:11:32,250 --> 00:11:34,580 čak i ako ne općenito ih vidjeli. 245 00:11:34,580 --> 00:11:39,090 A što ćemo učiniti da se Pogledajte neke razvojne alate. 246 00:11:39,090 --> 00:11:42,050 >> Dobro Dakle, ovdje sam Sada je u mom prozoru preglednika. 247 00:11:42,050 --> 00:11:45,840 I ja želim naučiti malo više o tim HTTP zahtjeva. 248 00:11:45,840 --> 00:11:49,060 Kako know-- sigurno znamo je li Stranica goes-- kada nešto pođe po zlu, 249 00:11:49,060 --> 00:11:49,630 smo dobili 404. 250 00:11:49,630 --> 00:11:50,465 Svi smo vidjeli da je. 251 00:11:50,465 --> 00:11:51,840 Mi ne treba da ilustriraju da. 252 00:11:51,840 --> 00:11:53,048 No, ono što su neke druge one? 253 00:11:53,048 --> 00:11:56,850 A kako bi smo vidjeli ti zahtjevi u akciji? 254 00:11:56,850 --> 00:11:59,990 >> Dakle, prva stvar koju ću učiniti je otvoriti razvojne alate. 255 00:11:59,990 --> 00:12:02,580 Dakle, Razvojni alati su izgradili u većini modernih preglednika 256 00:12:02,580 --> 00:12:06,020 i omogućiti nam da vidimo stvari da mi nije drugačije 257 00:12:06,020 --> 00:12:10,580 see-- neke dodatne informacije vrsta prenosi ispod naše web 258 00:12:10,580 --> 00:12:11,500 zahtjevi. 259 00:12:11,500 --> 00:12:12,790 Ja sam koristeći Google Chrome ovdje. 260 00:12:12,790 --> 00:12:16,900 I otvoriti razvojne alate u Chrome, samo pritisnite F-12, 261 00:12:16,900 --> 00:12:18,729 i to će otvoriti to se na strani. 262 00:12:18,729 --> 00:12:21,770 Jednom sam upišite zahtjev, ja ću uvećanje tako da možemo vidjeti što se ovdje događa. 263 00:12:21,770 --> 00:12:28,530 Ali što ću raditi u svom pregledniku bar is-- i ja ću zumiranje tijekom here-- 264 00:12:28,530 --> 00:12:32,427 Ja ću napraviti zahtjev www.google.com. 265 00:12:32,427 --> 00:12:34,260 Svi smo vjerojatno napravili ovaj zahtjev prije. 266 00:12:34,260 --> 00:12:35,400 Idem pritisnite Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Sada, ovdje u mom razvijanja Alati, ja sam izabrao karticu Network. 269 00:12:46,400 --> 00:12:48,010 I primijetite puno stvari ovdje. 270 00:12:48,010 --> 00:12:51,732 Pogledajte these-- 200 OK, OK, neka 200 tih kodova statusa dolaze. 271 00:12:51,732 --> 00:12:53,356 Ne znam zašto sam uzimajući 302 Pronađeno. 272 00:12:53,356 --> 00:12:54,860 Nisam znala da ću vidjeti tu jednu. 273 00:12:54,860 --> 00:12:58,192 Ali zapravo primijetiti da lijepa mnogo, u smislu mog Google request-- 274 00:12:58,192 --> 00:13:00,150 Napravila sam vrlo jednostavan Zahtjev za Googleovu stranicu. 275 00:13:00,150 --> 00:13:02,890 I u procesu isporukom moj zahtjev, 276 00:13:02,890 --> 00:13:05,670 Google navodno je napravio puno drugih zahtjeva u moje ime. 277 00:13:05,670 --> 00:13:11,990 >> Ali ja sam napravio GET zahtjev za Googlea stranica i ja sam uzimajući puno 200 Oks. 278 00:13:11,990 --> 00:13:14,830 Ne vidim 200 OK na moj zaslon, ali ja sam sve 279 00:13:14,830 --> 00:13:17,170 puno zahtjeva koje su napravljene. 280 00:13:17,170 --> 00:13:19,550 Jedan više da sam lijepa sigurno ide na posao 281 00:13:19,550 --> 00:13:21,920 is-- za one od vas koji su stvarno stare škole, 282 00:13:21,920 --> 00:13:26,012 znate da je Facebook ne uvijek na Facebook.com. 283 00:13:26,012 --> 00:13:29,780 U svojim ranim danima bilo je na wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 Oni očito nisu mogli dobiti pristup na Facebook.com dosta za neko vrijeme. 285 00:13:33,560 --> 00:13:35,870 >> I tako ono što sam očekivao Ovdje je dobiti informacije. 286 00:13:35,870 --> 00:13:37,315 Pa ćemo vidjeti je li to tave van. 287 00:13:37,315 --> 00:13:39,190 Što sam očekivao ovdje je dobiti podatke 288 00:13:39,190 --> 00:13:43,980 da je Facebook je trajno preseljena od thefacebook.com na Facebook.com. 289 00:13:43,980 --> 00:13:46,830 Dakle, ja sam očekivao negdje pri vrhu moje zahtjeve 290 00:13:46,830 --> 00:13:50,730 više u mojim Razvojni alati dobiti 301 obavijest 291 00:13:50,730 --> 00:13:52,580 da je Facebook je preselio trajno. 292 00:13:52,580 --> 00:13:59,070 Opet, neću vidjeti 301 na mom preglednika zaslonu. 293 00:13:59,070 --> 00:14:01,380 I zato što je 301, to je stalni potez. 294 00:14:01,380 --> 00:14:03,500 Moj preglednik, kao da je To je moderan preglednik, 295 00:14:03,500 --> 00:14:06,110 vjerojatno će preusmjeriti mi Facebook.com svejedno. 296 00:14:06,110 --> 00:14:07,260 Ali da vidimo što se događa. 297 00:14:07,260 --> 00:14:09,340 >> A sada ću ići thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 I Yep, tu je pravo na vrhu. 299 00:14:11,370 --> 00:14:13,390 Ona ode, ali bilo je tamo. 300 00:14:13,390 --> 00:14:14,820 Dopustite mi dođite ovdje. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Upravo ovdje na vrhu. 303 00:14:18,920 --> 00:14:23,080 Napravila sam zahtjev thefacebook.com, i ja dobijam odgovor 304 00:14:23,080 --> 00:14:25,410 da je ova stranica je trajno preseljena. 305 00:14:25,410 --> 00:14:27,770 A onda 307 ovdje interni preusmjeravanje. 306 00:14:27,770 --> 00:14:30,680 I tako to je ono što je zapravo me preselio u mnogo više 307 00:14:30,680 --> 00:14:33,330 upoznati www.facebook.com. 308 00:14:33,330 --> 00:14:38,480 >> Tako su ti kodovi odgovora učiniti još dogoditi, čak i ako ih ne vidim. 309 00:14:38,480 --> 00:14:40,710 Neću se ilustriraju 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 jer ste vjerojatno vidjeli one na raznim mjestima. 311 00:14:43,090 --> 00:14:45,740 A 500, ja bi samo biti vrsta of-- bismo se posreći 312 00:14:45,740 --> 00:14:50,380 ako je dobio 500, jer mi ne znamo što je poslužitelji su trenutačno dolje gdje. 313 00:14:50,380 --> 00:14:53,060 Ali ovi kodovi napraviti postoje, a tu je i način 314 00:14:53,060 --> 00:14:58,610 kako im pristupiti, čak i ako to ne učinimo ih iz prve ruke vidjeti u našim sustavima. 315 00:14:58,610 --> 00:14:59,530 Ja sam Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Ovo je CS50. 317 00:15:01,570 --> 00:15:03,557