1 00:00:00,000 --> 00:00:05,950 2 00:00:05,950 --> 00:00:09,310 >> SPEAKER: La oss snakke om en annen protocol-- Hypertext Transfer 3 00:00:09,310 --> 00:00:12,060 Protocol, eller HTTP. 4 00:00:12,060 --> 00:00:15,074 Så vi har snakket om IP og TCP i tidligere videoer. 5 00:00:15,074 --> 00:00:17,240 Og de er protokoller som dikterer hvordan informasjon 6 00:00:17,240 --> 00:00:20,970 beveger seg fra maskin til maskin og fra program til program eller en tjeneste 7 00:00:20,970 --> 00:00:27,720 å betjene via internett, via Dette nettverk av rutere og maskiner. 8 00:00:27,720 --> 00:00:30,640 >> Men det er vanligvis ikke hele bildet, ikke sant? 9 00:00:30,640 --> 00:00:33,530 Vanligvis når vi sender informasjon, vil programmet 10 00:00:33,530 --> 00:00:36,570 itself-- når data er mottatt, si, for eksempel, 11 00:00:36,570 --> 00:00:44,270 i e-post via TCP port 25 eller nettside forespørsel via port 80, 12 00:00:44,270 --> 00:00:48,220 det er som regel et system av regler der å bearbeide det jeg nettopp har fått. 13 00:00:48,220 --> 00:00:51,960 Og HTTP er et eksempel av nettopp en slik protokoll. 14 00:00:51,960 --> 00:00:54,929 >> HTTP er den eneste applikasjonslaget protokollen 15 00:00:54,929 --> 00:00:56,220 at vi kommer til å snakke om. 16 00:00:56,220 --> 00:00:59,660 Men det er et annet sett av regler for hvordan 17 00:00:59,660 --> 00:01:02,790 informasjon skal overføres og behandlet via internett. 18 00:01:02,790 --> 00:01:06,390 Spesielt HTTP angir nøyaktig hvordan 19 00:01:06,390 --> 00:01:11,300 man må gjøre en forespørsel om en nettside, og nøyaktig hvordan 20 00:01:11,300 --> 00:01:15,160 en server, en maskin som er vert for websider, 21 00:01:15,160 --> 00:01:17,840 leverer denne informasjonen tilbake til kundene. 22 00:01:17,840 --> 00:01:20,010 >> Så denne protokollen ikke faktisk har noe 23 00:01:20,010 --> 00:01:22,270 å gjøre med hvordan informasjon beveger seg fra punkt A 24 00:01:22,270 --> 00:01:26,090 til punkt B. Det er virkelig det system av regler 25 00:01:26,090 --> 00:01:29,700 for-- det er i utgangspunktet reglene engasjement for å arbeide med en web-side, 26 00:01:29,700 --> 00:01:31,960 lik når noen bølgene sin hånd på deg, 27 00:01:31,960 --> 00:01:33,410 du skal vinke tilbake. 28 00:01:33,410 --> 00:01:36,280 Det er liksom en konvensjonelle menneskelige protokollen. 29 00:01:36,280 --> 00:01:39,610 HTTP-protokollen bare sier, hvis du ønsker å be om en web 30 00:01:39,610 --> 00:01:42,730 side, sørg for at format utseende som dette-- liksom som formatering 31 00:01:42,730 --> 00:01:44,930 et forretningsbrev, for eksempel. 32 00:01:44,930 --> 00:01:50,029 Og responsen vil likeledes komme i henhold til denne protokollen. 33 00:01:50,029 --> 00:01:51,820 Det er annet applikasjonslaget protokoller 34 00:01:51,820 --> 00:01:53,380 at vi ikke kommer til å snakke om i videoer. 35 00:01:53,380 --> 00:01:55,790 Men disse inkluderer ting som File Transfer Protocol, 36 00:01:55,790 --> 00:01:59,200 Simple Mail Transfer Protocol for sende e-post, Data Distribution 37 00:01:59,200 --> 00:02:02,100 Service, Remote Desktop Protokollen, RDP, som 38 00:02:02,100 --> 00:02:05,590 brukes hvis du ønsker å fjerntilgang datamaskinen fra en annen datamaskin, 39 00:02:05,590 --> 00:02:08,479 XMPP, som er hyppig kjent som Jabber eller chat, 40 00:02:08,479 --> 00:02:11,160 slik dette er protokollen for å bruke chat-tjenester. 41 00:02:11,160 --> 00:02:13,310 Og det er mange, mange, mange andre. 42 00:02:13,310 --> 00:02:15,900 >> Så hver gang du bruker en tjeneste, service 43 00:02:15,900 --> 00:02:18,930 venter informasjon skal received-- en forespørsel 44 00:02:18,930 --> 00:02:21,010 å være received-- i en veldig bestemt format 45 00:02:21,010 --> 00:02:24,070 og er nødvendig for å returnere informasjon tilbake 46 00:02:24,070 --> 00:02:27,190 i en meget bestemt format i tillegg. 47 00:02:27,190 --> 00:02:31,750 >> Så la oss gå tilbake til vår illustrasjon av oss som ønsker å snakke med internett. 48 00:02:31,750 --> 00:02:34,810 Så vi er glade, og vi ønsker å gå til cats.com, ikke sant? 49 00:02:34,810 --> 00:02:38,550 Så hvis vi bare snakker til cats.com, vi kan si noe sånt hei, 50 00:02:38,550 --> 00:02:39,720 kan jeg se hjemmesiden din? 51 00:02:39,720 --> 00:02:42,320 Og cats.com vil trolig svare, ja, 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 form av spørre-og-svar. 54 00:02:46,440 --> 00:02:47,980 >> Hva betyr det se ut i HTTP? 55 00:02:47,980 --> 00:02:51,340 Vel, det er faktisk slags overs ganske renslig til noe som dette. 56 00:02:51,340 --> 00:02:57,290 Vi kan kanskje si GET / HTTP / 1.1 fra verts cats.com. 57 00:02:57,290 --> 00:03:03,039 Så i utgangspunktet det jeg gjør her er ber om nettsiden www.cats.com/. 58 00:03:03,039 --> 00:03:05,330 Vi pleier å utelate slash i dag, men det ville bare 59 00:03:05,330 --> 00:03:07,200 mener cats.com sin hjemmeside. 60 00:03:07,200 --> 00:03:11,910 >> Oh, og forresten, jeg kommer å være ved hjelp av HTTP versjon 61 00:03:11,910 --> 00:03:14,182 1.1 til å kommunisere med deg. 62 00:03:14,182 --> 00:03:16,390 Det er liksom analogt til si, som, forresten, 63 00:03:16,390 --> 00:03:17,870 Jeg kommer til å snakke på fransk, eller forresten, 64 00:03:17,870 --> 00:03:19,370 Jeg kommer til å være å snakke på engelsk. 65 00:03:19,370 --> 00:03:22,160 Det er bare det formatet av protokollen. 66 00:03:22,160 --> 00:03:25,050 Det er også 1,0, noe som er ikke brukte lenger. 67 00:03:25,050 --> 00:03:30,615 Så jeg snakker HTTP 1.1, og Jeg ønsker www.cats.com/. 68 00:03:30,615 --> 00:03:31,710 Vennligst få det for meg. 69 00:03:31,710 --> 00:03:34,610 >> Og så er det annen informasjon, også-- punktum, prikk, prikk der, 70 00:03:34,610 --> 00:03:38,234 som er informasjon om hvem du er så cats.com 71 00:03:38,234 --> 00:03:39,400 ville vite hvor du skal sende det. 72 00:03:39,400 --> 00:03:41,480 Men disse er de to slags kritiske deler 73 00:03:41,480 --> 00:03:44,000 helt i begynnelsen av en HTTP request-- 74 00:03:44,000 --> 00:03:46,770 akkurat som når du starter et bokstaven du si, kjære, blank. 75 00:03:46,770 --> 00:03:49,710 Dette er svært lik i ånden til det. 76 00:03:49,710 --> 00:03:52,370 >> Og hvis cats.com skal si, oh, sikker, her du går. 77 00:03:52,370 --> 00:03:55,590 De kan svare like dette-- Jeg er også svare. 78 00:03:55,590 --> 00:03:57,960 Jeg snakker også HTTP 1.1. 79 00:03:57,960 --> 00:04:01,720 Forespørselen er godkjent, 200 OK. 80 00:04:01,720 --> 00:04:04,709 Hva du er i ferd med å mottar er HTML og deretter 81 00:04:04,709 --> 00:04:06,250 prikk, prikk, prikk litt ekstra informasjon. 82 00:04:06,250 --> 00:04:10,620 Og helt på bunnen av forespørsel er faktisk HTML, 83 00:04:10,620 --> 00:04:16,339 kodespråket, den Innholdet i cats.com hjemmeside. 84 00:04:16,339 --> 00:04:21,227 >> Så HTTP / 1.1-- jeg erkjenner din forespørselen ble godtatt via HTTP 1.1. 85 00:04:21,227 --> 00:04:22,310 Din forespørsel ble godkjent. 86 00:04:22,310 --> 00:04:25,810 Jeg kan gi deg det du ønsker, 200 OK. 87 00:04:25,810 --> 00:04:27,440 Du er i ferd med å motta HTML. 88 00:04:27,440 --> 00:04:30,450 Og så her er HTML som du ba om. 89 00:04:30,450 --> 00:04:33,930 >> Men noen ganger våre forespørsler ikke alltid gå helt etter planen. 90 00:04:33,930 --> 00:04:37,100 Kan jeg få se cats.html side? 91 00:04:37,100 --> 00:04:40,366 Vel, hva om de sier, vi ikke har et 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 ha cats.html. 94 00:04:44,400 --> 00:04:45,420 Men OK. 95 00:04:45,420 --> 00:04:48,484 Så dette er liksom den konvensjonell menneskelig samhandling 96 00:04:48,484 --> 00:04:49,650 Vi har nå hatt med cats.com. 97 00:04:49,650 --> 00:04:51,060 Hvordan oversette? 98 00:04:51,060 --> 00:04:52,726 >> Dette kan være noe kjent med deg. 99 00:04:52,726 --> 00:04:55,690 Vår forespørsel så nøyaktig det samme, bortsett fra i stedet for å få slash 100 00:04:55,690 --> 00:04:58,110 vi nå får cats.html. 101 00:04:58,110 --> 00:05:01,810 Så nå hva som i utgangspunktet hele denne Forespørselen sier er vennligst gi meg 102 00:05:01,810 --> 00:05:05,620 www.cats.com/cats.html. 103 00:05:05,620 --> 00:05:08,700 Så vert og midten del av det øverste linjen 104 00:05:08,700 --> 00:05:14,632 det indikerer nettopp hvilken side jeg ber om. 105 00:05:14,632 --> 00:05:17,590 Men cats.com i dette tilfellet ikke kommer å være i stand til å reagere positivt. 106 00:05:17,590 --> 00:05:19,089 De vet ikke vi snakker om. 107 00:05:19,089 --> 00:05:25,170 Og så dette er noe du kan ha sett before-- HTTP 1.1 404 Not Found. 108 00:05:25,170 --> 00:05:27,180 Jeg kunne ikke vite du ber om. 109 00:05:27,180 --> 00:05:30,460 Forresten, jeg skal gi deg tilbake noen HTML, og vanligvis som HTML 110 00:05:30,460 --> 00:05:32,351 er innholdet av noen 404-side. 111 00:05:32,351 --> 00:05:34,100 Og i tilfelle av cats.com, er det sannsynligvis 112 00:05:34,100 --> 00:05:37,720 noen søte katter i en kurv med en trist 404 ansikt ved siden av dem, 113 00:05:37,720 --> 00:05:40,920 fordi du kommer til å være trist når du ikke får side 114 00:05:40,920 --> 00:05:43,040 at du var ute etter. 115 00:05:43,040 --> 00:05:48,520 >> Det er slags grunnleggende om hva en protokollen, HTTP-protokollen forespørsler 116 00:05:48,520 --> 00:05:49,180 ser ut som. 117 00:05:49,180 --> 00:05:52,640 De er veldig lik hvordan vi ville gjøre en lignende interaksjon 118 00:05:52,640 --> 00:05:55,460 i bare menneskelige konvensjoner spør etter noe 119 00:05:55,460 --> 00:05:58,250 og få den tilbake eller skrive en brev og forventer et svar 120 00:05:58,250 --> 00:06:00,380 bokstav i et bestemt format. 121 00:06:00,380 --> 00:06:03,910 Det er ganske mye hva HTTP er bare canonicalizing 122 00:06:03,910 --> 00:06:10,190 for alle enheter som ønsker tilgang til websider, hyper overføringer. 123 00:06:10,190 --> 00:06:15,110 >> Slik at en linje av skjemaet, dette metode forespørsel target HTTP-versjonen, 124 00:06:15,110 --> 00:06:17,100 kalles en HTTP-forespørsel linje. 125 00:06:17,100 --> 00:06:23,740 Det er som regel det første som er overført som del av en HTTP-forespørsel 126 00:06:23,740 --> 00:06:26,180 eller hvis du ber om HTTP. 127 00:06:26,180 --> 00:06:29,970 Det er liksom som, som jeg sa, sier kjære, blank på toppen brevet. 128 00:06:29,970 --> 00:06:32,880 De vet at du er skrive dem et brev. 129 00:06:32,880 --> 00:06:34,796 Så dette er veldig lik å si, jeg vet 130 00:06:34,796 --> 00:06:37,670 at de gjør en HTTP-forespørsel og dette er bestemt format 131 00:06:37,670 --> 00:06:39,090 de spør etter. 132 00:06:39,090 --> 00:06:43,810 >> HTTP-versjonen er nok alltid skal være HTTP / 1/1. 133 00:06:43,810 --> 00:06:46,670 1.0 også finnes, men er ikke virkelig brukes lenger. 134 00:06:46,670 --> 00:06:49,200 Med henblikk på CS50, GET er nok alltid 135 00:06:49,200 --> 00:06:51,540 hva du kommer til å være hjelp når du faktisk 136 00:06:51,540 --> 00:06:54,250 gjøre direkte HTTP-forespørsler. 137 00:06:54,250 --> 00:06:57,720 Men POST er et annet alternativ som vi er ikke kommer til å snakke om akkurat nå. 138 00:06:57,720 --> 00:07:02,980 Og så request-målet er hvilken side på vertens server 139 00:07:02,980 --> 00:07:05,812 du ønsker å få. 140 00:07:05,812 --> 00:07:08,020 Som jeg sa, dette vertsnavnet er en egen linje, vanligvis 141 00:07:08,020 --> 00:07:10,350 den andre linjen av den samlede forespørsel. 142 00:07:10,350 --> 00:07:13,660 Og så tatt sammen, verten navn og forespørselen målet 143 00:07:13,660 --> 00:07:16,070 angi en spesifikk ressurs søkes. 144 00:07:16,070 --> 00:07:20,986 I vår 404 eksempel en andre siden, jeg spurte igjen for www.cats.com, 145 00:07:20,986 --> 00:07:22,940 cats.com blir verten. 146 00:07:22,940 --> 00:07:26,300 Og i min forespørsel linje, Jeg sa /cats.html. 147 00:07:26,300 --> 00:07:27,790 Det var min forespørsel målet. 148 00:07:27,790 --> 00:07:31,200 Så samlet jeg ber om det innhold eller ressursen som ligger 149 00:07:31,200 --> 00:07:36,410 på www.cats.com/cats.html. 150 00:07:36,410 --> 00:07:38,870 >> Og så basert på om ressursen finnes 151 00:07:38,870 --> 00:07:42,160 og om serveren kan levere ressursen i henhold til kundens 152 00:07:42,160 --> 00:07:46,760 forespørsel, kan du få ulike statuskoder tilbake. 153 00:07:46,760 --> 00:07:50,280 Noen av disse statuskodene du har sett fordi de er en del av svaret. 154 00:07:50,280 --> 00:07:53,580 Noen av dem, 200 OK, er sannsynligvis ganske stille. 155 00:07:53,580 --> 00:07:55,650 Du har sikkert aldri sett en side svare 200 OK. 156 00:07:55,650 --> 00:07:56,890 Du bare få siden. 157 00:07:56,890 --> 00:08:01,260 Det er ikke som en 404-feil, som vanligvis er ganske klart. 158 00:08:01,260 --> 00:08:03,850 Du vanligvis ser at det står 404. 159 00:08:03,850 --> 00:08:06,880 >> Så la oss snakke om hva noen av disse statuskoder kan være. 160 00:08:06,880 --> 00:08:09,660 Igjen, når serveren reagerer på oss, de er 161 00:08:09,660 --> 00:08:12,120 kommer til å svare HTTP versjon status. 162 00:08:12,120 --> 00:08:14,020 Vanligvis HTTP / 1.1. 163 00:08:14,020 --> 00:08:17,410 Hva er disse statuskodene kommer til å bli? 164 00:08:17,410 --> 00:08:18,890 Vel, vi kan få en suksess. 165 00:08:18,890 --> 00:08:23,617 Så i suksessen kategori, vi kan få kode 200 med teksten OK. 166 00:08:23,617 --> 00:08:24,450 Hva betyr dette? 167 00:08:24,450 --> 00:08:25,491 Vel, alt er bra. 168 00:08:25,491 --> 00:08:26,721 Du har gjort en gyldig forespørsel. 169 00:08:26,721 --> 00:08:27,720 Her er et gyldig svar. 170 00:08:27,720 --> 00:08:30,060 Jeg var i stand til å levere nøyaktig hva du ville. 171 00:08:30,060 --> 00:08:33,080 >> Noen ganger kan du få andre ting at du ikke vil legge merke til med en gang 172 00:08:33,080 --> 00:08:35,140 men er noe feil. 173 00:08:35,140 --> 00:08:36,422 De er kalt omadresseringer. 174 00:08:36,422 --> 00:08:37,630 Det finnes to vanlige dem her. 175 00:08:37,630 --> 00:08:41,520 301 Moved Permanently-- hva dette egentlig betyr 176 00:08:41,520 --> 00:08:43,559 er siden er nå på et nytt sted. 177 00:08:43,559 --> 00:08:44,920 Det vil leve der for alltid. 178 00:08:44,920 --> 00:08:47,150 Og de fleste nettlesere vil automatisk omdirigere deg. 179 00:08:47,150 --> 00:08:49,860 Slik at du aldri virkelig se en 301, heller, med mindre du er 180 00:08:49,860 --> 00:08:52,210 ved hjelp av en virkelig out-of-date nettleser, muligens, 181 00:08:52,210 --> 00:08:57,660 fordi 301 responsen er en del av dot, dot, dot av 301 svar. 182 00:08:57,660 --> 00:08:59,577 Den forteller deg også hvor den nye siden er. 183 00:08:59,577 --> 00:09:01,660 Og så de fleste nettlesere vil bare omdirigere deg der, 184 00:09:01,660 --> 00:09:03,570 forutsatt at du ønsker å gå dit. 185 00:09:03,570 --> 00:09:05,440 >> Noen ganger vil du også få 302 funnet. 186 00:09:05,440 --> 00:09:07,850 Og dette du faktisk kan fortsatt se innimellom. 187 00:09:07,850 --> 00:09:09,720 Noen ganger sidene flytter midlertidig. 188 00:09:09,720 --> 00:09:13,570 Så det kommer ikke til å bli bygget inn anmodningen forteller nettleseren 189 00:09:13,570 --> 00:09:16,740 å permanent endre helst det ser be om at du 190 00:09:16,740 --> 00:09:18,255 gjøre for å endre det til noe annet. 191 00:09:18,255 --> 00:09:21,210 Så du kan se 302 Funnet, som i utgangspunktet 192 00:09:21,210 --> 00:09:22,710 sier denne siden bor et annet sted. 193 00:09:22,710 --> 00:09:24,418 Men det er ikke til å leve det evig. 194 00:09:24,418 --> 00:09:29,052 Det vil etter hvert trolig gå tilbake til der du tror det er. 195 00:09:29,052 --> 00:09:31,780 >> Da får du ting som klient feil. 196 00:09:31,780 --> 00:09:34,012 Så disse er de du har sikkert sett, nå. 197 00:09:34,012 --> 00:09:35,970 Du har sannsynligvis ikke har sett de 200s eller 300s, 198 00:09:35,970 --> 00:09:37,370 men du er sannsynligvis kjent med 400s. 199 00:09:37,370 --> 00:09:40,130 Og det er det vi skal snakke omtrent i en andre, 500s også. 200 00:09:40,130 --> 00:09:42,580 >> Du kan se 401 Uautorisert. 201 00:09:42,580 --> 00:09:45,100 Vanligvis betyr dette at du er prøver å få tilgang til en side, 202 00:09:45,100 --> 00:09:46,230 men du har ikke logget inn. 203 00:09:46,230 --> 00:09:50,500 Så du prøver og gå til noen profil eller noe på Facebook 204 00:09:50,500 --> 00:09:53,106 eller du prøver og tilgang some-- du er på jobb. 205 00:09:53,106 --> 00:09:56,619 Du prøver å få tilgang til noe på arbeidsinternett, 206 00:09:56,619 --> 00:09:57,660 men du er ikke logget inn. 207 00:09:57,660 --> 00:09:58,740 Du kan ikke se på siden. 208 00:09:58,740 --> 00:10:01,770 Du kan få en 401 uautorisert, noe som betyr at vi trolig 209 00:10:01,770 --> 00:10:06,590 vil være i stand til å tilfredsstille denne forespørselen, men først må du logge inn for å gjøre det. 210 00:10:06,590 --> 00:10:09,590 >> Motsatt kan du få 403 Forbudt, noe som er det gjør egentlig ikke 211 00:10:09,590 --> 00:10:11,490 rolle om du er logget inn eller ikke. 212 00:10:11,490 --> 00:10:13,020 Denne forespørselen er ikke tillatt. 213 00:10:13,020 --> 00:10:15,320 Ressurs finnes på tjeneren. 214 00:10:15,320 --> 00:10:17,817 Men du har ikke lov til å få tilgang til det. 215 00:10:17,817 --> 00:10:20,900 Dette er vanligvis interne filer som bor på serveren for ulike årsaker 216 00:10:20,900 --> 00:10:23,860 men er ikke ment å være aksesseres fra omverdenen, 217 00:10:23,860 --> 00:10:25,030 og slik at 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 sier ikke at jeg ikke kan finne det. 220 00:10:28,440 --> 00:10:30,030 Men jeg sier jeg ikke kan gi den til deg. 221 00:10:30,030 --> 00:10:32,071 Og det spiller ingen rolle om du er logget inn eller ikke. 222 00:10:32,071 --> 00:10:35,479 Og så selvfølgelig, svært vanlig 404 Not Found. 223 00:10:35,479 --> 00:10:37,020 Filen finnes ikke på serveren. 224 00:10:37,020 --> 00:10:40,200 Jeg ønsker å tilfredsstille forespørselen din, men jeg kan ikke. 225 00:10:40,200 --> 00:10:43,390 >> Du har også noen ganger se serveren feil, den vanligste vanligvis 226 00:10:43,390 --> 00:10:46,990 være 500 Internal Server Error, som faktisk ikke fortelle deg noe 227 00:10:46,990 --> 00:10:50,200 i det hele tatt om hva som har gått galt. 228 00:10:50,200 --> 00:10:53,290 Men det er faktisk ikke du gjør en feil i forespørselen. 229 00:10:53,290 --> 00:10:58,200 Det er faktisk den serveren sviktende å levere på forespørsel eller annen måte. 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 noe som Tjenesten er utilgjengelig, 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 noen gang hatt en side bare 234 00:11:07,882 --> 00:11:09,590 sitte der lasting og lasting og laste 235 00:11:09,590 --> 00:11:12,715 og du vet aldri om det kommer til å last og så til slutt det bare says-- 236 00:11:12,715 --> 00:11:13,650 bare gir opp. 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 ønsket å utføre din forespørsel, 239 00:11:17,600 --> 00:11:19,930 men noe gikk galt på serveren side-- 240 00:11:19,930 --> 00:11:24,452 ikke på din side-- til føre til at for å være et problem. 241 00:11:24,452 --> 00:11:27,410 Nå kan vi avslutte historien her, men hva jeg faktisk kommer til å gjøre nå 242 00:11:27,410 --> 00:11:29,368 er jeg kommer til å åpne opp min nettleser og vise deg 243 00:11:29,368 --> 00:11:32,250 hvordan du kan være i stand til å se noen av disse statuskoder 244 00:11:32,250 --> 00:11:34,580 selv om du ikke vanligvis ser dem. 245 00:11:34,580 --> 00:11:39,090 Og vi kommer til å gjøre det ved å ta En titt på noen utviklerverktøy. 246 00:11:39,090 --> 00:11:42,050 >> Greit Så her er jeg nå i min nettleservindu. 247 00:11:42,050 --> 00:11:45,840 Og jeg ønsker å lære litt mer om disse HTTP-forespørsler. 248 00:11:45,840 --> 00:11:49,060 Hvordan kan jeg know-- sikkert vi vite om en side goes-- når noe 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 sett det. 251 00:11:50,465 --> 00:11:51,840 Vi trenger ikke behov for å illustrere den. 252 00:11:51,840 --> 00:11:53,048 Men hva er noen andre? 253 00:11:53,048 --> 00:11:56,850 Og hvordan ville vi se disse forespørslene i aksjon? 254 00:11:56,850 --> 00:11:59,990 >> Så det første jeg kommer til å gjøre er å åpne opp utviklerverktøy. 255 00:11:59,990 --> 00:12:02,580 Så Utviklerverktøy er bygget inn i de fleste moderne nettlesere 256 00:12:02,580 --> 00:12:06,020 og tillate oss å se ting at vi ikke ellers 257 00:12:06,020 --> 00:12:10,580 see-- litt ekstra informasjon slags overføres under vår web 258 00:12:10,580 --> 00:12:11,500 forespørsler. 259 00:12:11,500 --> 00:12:12,790 Jeg bruker Google Chrome her. 260 00:12:12,790 --> 00:12:16,900 Og for å åpne utviklerverktøy i Chrome, du bare trykke F-12, 261 00:12:16,900 --> 00:12:18,729 og det kommer til å åpne det opp på siden. 262 00:12:18,729 --> 00:12:21,770 Når jeg skriver forespørselen, vil jeg zoome inn slik at vi kan se hva som skjer her. 263 00:12:21,770 --> 00:12:28,530 Men hva jeg skal gjøre i min nettleser bar er-- og jeg skal zoome inn over her-- 264 00:12:28,530 --> 00:12:32,427 Jeg vil gjøre en forespørsel til www.google.com. 265 00:12:32,427 --> 00:12:34,260 Vi har vel alle gjort denne forespørselen før. 266 00:12:34,260 --> 00:12:35,400 Jeg kommer til å treffe på Enter. 267 00:12:35,400 --> 00:12:41,920 268 00:12:41,920 --> 00:12:46,400 >> Nå, over her i min Developer Verktøy, har jeg valgt kategorien Nettverk. 269 00:12:46,400 --> 00:12:48,010 Og du oppdager en masse ting her. 270 00:12:48,010 --> 00:12:51,732 Se på these-- 200 OK, 200 OK, noen av disse statuskoder som kommer opp. 271 00:12:51,732 --> 00:12:53,356 Jeg vet ikke hvorfor jeg får 302 Found. 272 00:12:53,356 --> 00:12:54,860 Jeg visste ikke at jeg ville se den. 273 00:12:54,860 --> 00:12:58,192 Men i utgangspunktet legge merke til at ganske mye, med tanke på min Google request-- 274 00:12:58,192 --> 00:13:00,150 Jeg gjorde en veldig enkel forespørsel om Googles side. 275 00:13:00,150 --> 00:13:02,890 Og i ferd med å levere min forespørsel, 276 00:13:02,890 --> 00:13:05,670 Google har tydeligvis gjort mye andre forespørsler på mine vegne. 277 00:13:05,670 --> 00:13:11,990 >> Men jeg har gjort en get forespørsel om Googles side og jeg får en masse 200 OKS. 278 00:13:11,990 --> 00:13:14,830 Jeg ser ikke 200 OK på skjermen min, men jeg får 279 00:13:14,830 --> 00:13:17,170 mange forespørsler som har blitt gjort. 280 00:13:17,170 --> 00:13:19,550 En mer at jeg er ganske sikker på kommer til å jobbe 281 00:13:19,550 --> 00:13:21,920 er-- for de av dere som er virkelig gamle skolen, 282 00:13:21,920 --> 00:13:26,012 du vet kanskje at Facebook var ikke alltid på Facebook.com. 283 00:13:26,012 --> 00:13:29,780 I sine tidlige dager var det på wwww.thefacebook.com. 284 00:13:29,780 --> 00:13:33,560 De tilsynelatende ikke kunne få tilgang til Facebook.com for ganske stund. 285 00:13:33,560 --> 00:13:35,870 >> Og så hva jeg forventer her er å få informasjon. 286 00:13:35,870 --> 00:13:37,315 Og vi får se om dette kokekar ut. 287 00:13:37,315 --> 00:13:39,190 Hva jeg forventer her er å få informasjon 288 00:13:39,190 --> 00:13:43,980 at Facebook har 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 av mine forespørsler 290 00:13:46,830 --> 00:13:50,730 over i mine Utviklerverktøy å få en 301 varsling 291 00:13:50,730 --> 00:13:52,580 at Facebook har flyttet permanent. 292 00:13:52,580 --> 00:13:59,070 Igjen, jeg vil ikke se 301 på min nettleser skjermen. 293 00:13:59,070 --> 00:14:01,380 Og fordi det er en 301, det er en permanent overgang. 294 00:14:01,380 --> 00:14:03,500 Nettleseren min, er at det er en moderne nettleser, 295 00:14:03,500 --> 00:14:06,110 er trolig kommer til å omdirigere meg til Facebook.com uansett. 296 00:14:06,110 --> 00:14:07,260 Men la oss se hva som skjer. 297 00:14:07,260 --> 00:14:09,340 >> Og nå kommer jeg til å gå til thefacebook.com. 298 00:14:09,340 --> 00:14:11,370 Og ja, det er det rett på toppen. 299 00:14:11,370 --> 00:14:13,390 Det gikk unna, men det var der. 300 00:14:13,390 --> 00:14:14,820 La meg bla opp her. 301 00:14:14,820 --> 00:14:18,004 302 00:14:18,004 --> 00:14:18,920 Akkurat her på toppen. 303 00:14:18,920 --> 00:14:23,080 Jeg gjorde en forespørsel til thefacebook.com, og jeg får et svar 304 00:14:23,080 --> 00:14:25,410 at denne siden er flyttet permanent. 305 00:14:25,410 --> 00:14:27,770 Og så 307 her er en intern viderekobling. 306 00:14:27,770 --> 00:14:30,680 Og så dette er hva som faktisk har flyttet meg til mye mer 307 00:14:30,680 --> 00:14:33,330 kjent www.facebook.com. 308 00:14:33,330 --> 00:14:38,480 >> Så disse svarkodene gjør fortsatt skje, selv om vi ikke ser dem. 309 00:14:38,480 --> 00:14:40,710 Jeg kommer ikke til å illustrere 401, 403, 404, 310 00:14:40,710 --> 00:14:43,090 fordi du har sikkert sett de på ulike punkter. 311 00:14:43,090 --> 00:14:45,740 Og 500, ville jeg bare være kind of-- vi ville få heldige 312 00:14:45,740 --> 00:14:50,380 hvis fikk en 500 fordi vi ikke vet hva serverne er for øyeblikket nede hvor som helst. 313 00:14:50,380 --> 00:14:53,060 Men disse kodene gjøre finnes, og det finnes en vei 314 00:14:53,060 --> 00:14:58,610 å få tilgang til dem, selv om vi ikke gjør det se dem på nært hold på våre systemer. 315 00:14:58,610 --> 00:14:59,530 Jeg er Doug Lloyd. 316 00:14:59,530 --> 00:15:01,570 Dette er CS50. 317 00:15:01,570 --> 00:15:03,557