1 00:00:00,000 --> 00:00:09,287 2 00:00:09,287 --> 00:00:11,120 DAVID MALAN: Så for dette problemet sett, er du 3 00:00:11,120 --> 00:00:13,236 kommer til å implementere egen webserver. 4 00:00:13,236 --> 00:00:16,110 Vi har gitt deg en bit av skjelett kode som får deg i gang, 5 00:00:16,110 --> 00:00:17,818 men til syvende og sist, er du kommer til å fullføre det 6 00:00:17,818 --> 00:00:19,940 opp slik at det faktisk implementerer evnen 7 00:00:19,940 --> 00:00:23,980 å tjene opp nettsider, både statisk innhold og også dynamisk innhold, 8 00:00:23,980 --> 00:00:25,090 via PHP. 9 00:00:25,090 --> 00:00:27,380 >> La oss ta en titt, først ved veien for personalet løsning, 10 00:00:27,380 --> 00:00:29,390 på hva det endelige resultatet kommer til å bli. 11 00:00:29,390 --> 00:00:33,420 Jeg først kommer til å kjøre Tilda CS50 / pset6 / server 12 00:00:33,420 --> 00:00:36,330 og deretter dash p å spesifisere en port, og deretter et antall 13 00:00:36,330 --> 00:00:38,410 som 8080, noe som er ganske vanlig. 14 00:00:38,410 --> 00:00:40,420 Og deretter navnet eller stien til katalogen 15 00:00:40,420 --> 00:00:43,360 at jeg ønsker å bruke som web serverens rute, hvor alle filene 16 00:00:43,360 --> 00:00:44,680 kommer til å bli servert opp fra. 17 00:00:44,680 --> 00:00:46,180 Jeg kommer til å gå videre og trykk Enter. 18 00:00:46,180 --> 00:00:49,010 Og du vil se i farget tekst her at webserveren er 19 00:00:49,010 --> 00:00:52,450 bruker min offentlig katalog og det er å lytte på port 8080. 20 00:00:52,450 --> 00:00:55,300 Nå la oss gå over til en web nettleser og faktisk prøve 21 00:00:55,300 --> 00:00:56,855 for å koble til denne nettsiden. 22 00:00:56,855 --> 00:00:59,230 Varsel i høyre hjørne av apparatet, 23 00:00:59,230 --> 00:01:02,040 at det har vært alt denne gang en IP-adresse. 24 00:01:02,040 --> 00:01:03,890 Det er en unik identifikator for datamaskinen din 25 00:01:03,890 --> 00:01:06,050 som identifiserer det så at du kan få tilgang til det 26 00:01:06,050 --> 00:01:08,261 via nettleseren eller noen rekke andre verktøy. 27 00:01:08,261 --> 00:01:10,760 Så jeg kommer til å gå videre og åpne opp Chrome i apparatet 28 00:01:10,760 --> 00:01:19,250 og jeg kommer til å besøke http://172.16.254.133 og deretter 29 00:01:19,250 --> 00:01:20,960 kolon 8080. 30 00:01:20,960 --> 00:01:24,344 Og kolon viktig fordi hvis du ikke angir at porten som jeg også 31 00:01:24,344 --> 00:01:26,260 spesifisert på kommando linje, er du faktisk 32 00:01:26,260 --> 00:01:28,390 skal snakke inn til apparatets egen web 33 00:01:28,390 --> 00:01:30,850 server kalt Apache, som er bygget inn i den. 34 00:01:30,850 --> 00:01:33,610 Men i dag ønsker vi å fokusere på vår egen web server. 35 00:01:33,610 --> 00:01:36,550 >> Så nå når jeg trykker Enter, du vil legge merke til at 501 36 00:01:36,550 --> 00:01:38,380 Ikke gjennomført kommer opp fordi jeg har prøvd 37 00:01:38,380 --> 00:01:41,000 å få tilgang til en katalog, ikke en bestemt fil. 38 00:01:41,000 --> 00:01:43,980 Faktisk, hvis du ser over til venstre i min terminal-vinduet, 39 00:01:43,980 --> 00:01:46,690 vil du se at mens lytter på port 8080, 40 00:01:46,690 --> 00:01:52,600 webserveren så en forespørsel om GET / HTTP / 1.1 og deretter webserveren 41 00:01:52,600 --> 00:01:56,680 svarte, som avbildet her i rød, med at 501 ikke implementert. 42 00:01:56,680 --> 00:01:59,270 >> Merkelig skjønt, det er også denne andre linje i hvitt, 43 00:01:59,270 --> 00:02:03,355 GET / favicon.ico HTTP / 1.1. 44 00:02:03,355 --> 00:02:06,230 Nå er jeg definitivt ikke gjøre det meg selv, men det viser seg at Chrome, 45 00:02:06,230 --> 00:02:09,910 som mange nettlesere, vil presumptuously anta at nettstedet ditt 46 00:02:09,910 --> 00:02:13,170 er ment å ha en liten grafisk ikonet opp i fanen eller neste 47 00:02:13,170 --> 00:02:16,380 til adresselinjen, som en Harvard crest eller noe langs disse linjene, 48 00:02:16,380 --> 00:02:19,425 og så er det bare å gjette ved måte av denne standard filnavn, 49 00:02:19,425 --> 00:02:21,800 at du kan ha en fil sånn også, som vi ikke gjør det. 50 00:02:21,800 --> 00:02:24,650 Og så 404 Not Found blir spytte tilbake. 51 00:02:24,650 --> 00:02:26,120 >> Vel nå, legge merke til dette. 52 00:02:26,120 --> 00:02:29,440 I tillegg til å besøke denne adressen inne 53 00:02:29,440 --> 00:02:34,940 av apparatet, 172.16.254.133:8080, men din IP-adresse, for å være klar, 54 00:02:34,940 --> 00:02:35,910 vil være forskjellig. 55 00:02:35,910 --> 00:02:39,690 Legg merke til at hvis jeg går på min Mac eller min PC til min egen nettleser 56 00:02:39,690 --> 00:02:43,200 og besøke den samme URL, kan jeg se fra min egen foretrukne nettleser 57 00:02:43,200 --> 00:02:46,340 enten det er Chrome eller Firefox eller IE eller noe annet, akkurat 58 00:02:46,340 --> 00:02:47,550 de samme resultater. 59 00:02:47,550 --> 00:02:48,130 >> OK. 60 00:02:48,130 --> 00:02:51,820 La oss faktisk besøke en nettadresse som er kjent å eksistere i det offentlige katalogen. 61 00:02:51,820 --> 00:02:56,890 Nemlig IP-adressen kolon 8080 / cat.jpg. 62 00:02:56,890 --> 00:02:57,930 Enter. 63 00:02:57,930 --> 00:02:59,470 Og der, ja, Happy Cat. 64 00:02:59,470 --> 00:03:03,340 Jeg vet på forhånd at det er også en cat.HTLM fil, så hvis jeg trykker Enter, 65 00:03:03,340 --> 00:03:04,469 Jeg ser at en også. 66 00:03:04,469 --> 00:03:06,260 Og legg merke til, i tiden, på den venstre vi 67 00:03:06,260 --> 00:03:08,176 har en hel haug med grønne utganger betegner 68 00:03:08,176 --> 00:03:13,360 at disse var 200 statuser, som betyr at de var OK. 69 00:03:13,360 --> 00:03:18,294