1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> SPEAKER 1: Ok, la oss ta en se på hvordan de ansatte løsningen faktisk 3 00:00:02,660 --> 00:00:04,760 driver, slik at du får en følelse, først av 4 00:00:04,760 --> 00:00:06,930 hvordan webserveren er ment å kjøre, og hvordan du faktisk kan 5 00:00:06,930 --> 00:00:08,480 få den kjører på din egen datamaskin. 6 00:00:08,480 --> 00:00:09,350 Så bildet det her. 7 00:00:09,350 --> 00:00:13,640 Jeg har allerede installert i CS50 ID pset6 dot zip, per spesifikasjonen. 8 00:00:13,640 --> 00:00:16,197 Jeg har pakket det, og jeg har CDED inn i min pset6 katalogen. 9 00:00:16,197 --> 00:00:18,780 En av de første tingene du er kommer til å ønske å gjøre, spesielt 10 00:00:18,780 --> 00:00:22,010 hvis du har brukt en CS50 IDE å spille sammen med de siste foredrag, hvor 11 00:00:22,010 --> 00:00:25,640 vi har brukt PHP i CS50 IDE, spesifikt, 12 00:00:25,640 --> 00:00:29,050 ved hjelp av det web server kalt Apache, hvor du kan starte og stoppe det 13 00:00:29,050 --> 00:00:30,910 med den kommandoen, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Først, gå videre og skriver "Apache 50 stop" 15 00:00:34,160 --> 00:00:37,370 bare for å være sikker på at hvis du var følge med de siste dagene, 16 00:00:37,370 --> 00:00:40,090 og du slått på Apache, er du slå den av på denne måten 17 00:00:40,090 --> 00:00:41,360 ved å stoppe serveren. 18 00:00:41,360 --> 00:00:44,110 Nå, hva jeg skal gjøre er nøyaktig hva spec forteller meg å gjøre. 19 00:00:44,110 --> 00:00:49,770 Jeg kommer til å gå til Tilda CS50 slash pset6 slash server, hit og bare Enter. 20 00:00:49,770 --> 00:00:52,840 Du vil merke at jeg skrek til med noen bruksinformasjon, hvorved 21 00:00:52,840 --> 00:00:54,960 Jeg skal kjøre programmet som server 22 00:00:54,960 --> 00:00:58,230 med en valgfri strek p og deretter en portnummeret, som du faktisk kan 23 00:00:58,230 --> 00:01:00,720 la stå tom for ved Standard, per spec, 24 00:01:00,720 --> 00:01:04,010 webserveren skal anta at du vil port 8080. 25 00:01:04,010 --> 00:01:07,560 I mellomtiden kan du huske at port 8080 er egentlig ikke standard, 26 00:01:07,560 --> 00:01:09,380 snarere port 80 er nummeret vi har snakket 27 00:01:09,380 --> 00:01:11,440 om å være standard for HTTP. 28 00:01:11,440 --> 00:01:14,870 Vel, det viser seg at CS50 IDE er bare utformet på en slik måte, 29 00:01:14,870 --> 00:01:18,730 slik at når du med en nettleser prøve å besøke port 80 fra omverdenen, 30 00:01:18,730 --> 00:01:22,210 det kommer til å sortere av magisk port fremover, eller endrer selv, 31 00:01:22,210 --> 00:01:25,200 til port 8080 inne av serveren selv. 32 00:01:25,200 --> 00:01:29,330 >> Så det siste her er kommandoen linje argument, banen til rute. 33 00:01:29,330 --> 00:01:31,590 Og etter at jeg bare mener, hvilken mappe gjør jeg 34 00:01:31,590 --> 00:01:34,820 ønsker å fortelle serveren å bruke for å tjene opp filer? 35 00:01:34,820 --> 00:01:39,030 Med andre ord, hvis brukeren besøker slash, hva skal han eller hun se? 36 00:01:39,030 --> 00:01:41,030 Vel, la oss gå videre og kjøre akkurat det igjen, 37 00:01:41,030 --> 00:01:43,940 denne gangen å spesifisere at jeg ønsker roten til min web server 38 00:01:43,940 --> 00:01:48,210 å være offentlig katalog, som kommer med problemet satt seks distribusjon kode. 39 00:01:48,210 --> 00:01:50,620 Når jeg trykker Enter, vil du se i gult her, en påminnelse 40 00:01:50,620 --> 00:01:52,260 som til hvilken mappe jeg faktisk bruker. 41 00:01:52,260 --> 00:01:55,870 I dette tilfellet er det en lang streng, "hjem ubuntu arbeidsområde pset6 publikum." 42 00:01:55,870 --> 00:01:57,500 Og det siste ordet er det som er nøkkelen. 43 00:01:57,500 --> 00:02:01,180 Og så til slutt, tilsynelatende, min Serveren er nå lytter på port 8080. 44 00:02:01,180 --> 00:02:05,860 >> Det jeg neste kommer til å gjøre er å huske at i CS50 ID i øvre høyre hjørne 45 00:02:05,860 --> 00:02:09,440 på skjermen, du kommer til å se en nettadresse som er ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 Og ja, hvis du klikker det, vil du bli revet vekk 48 00:02:15,080 --> 00:02:17,090 til en annen nettleser fane, at i dette tilfellet 49 00:02:17,090 --> 00:02:20,830 kommer til å vise meg innholdet av mine webservere røtter. 50 00:02:20,830 --> 00:02:24,770 Med andre ord, de filene du ser her, katt dot HTML, katt dot JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, hallo dot HTML, hei dot php, og test, 52 00:02:27,690 --> 00:02:29,800 er alle av samme Innholdet som du ville se 53 00:02:29,800 --> 00:02:32,560 med LS innsiden av min offentlige katalogen. 54 00:02:32,560 --> 00:02:36,790 Og hva er hyggelig er at hvis jeg går videre og klikk nå på katten dot HTML, 55 00:02:36,790 --> 00:02:38,710 Jeg ser katten dot HTML. 56 00:02:38,710 --> 00:02:42,660 Og hvis jeg klikker på katt dot JPEG, eller hallo dot HTML, 57 00:02:42,660 --> 00:02:46,650 eller skriv i mitt navn David, og deretter "si hei" 58 00:02:46,650 --> 00:02:49,420 vil du se at alle de filer fungerer fordi ansatte 59 00:02:49,420 --> 00:02:52,820 løsning, selvfølgelig, installert i CS50 ID er fullt funksjonell. 60 00:02:52,820 --> 00:02:57,090 Så det fungerer akkurat som din egen Løsningen bør til slutt fungere. 61 00:02:57,090 --> 00:03:00,990 >> I mellomtiden, hvis vi går tilbake til min terminal vindu, hvor jeg kjørte kommandoen server, 62 00:03:00,990 --> 00:03:03,410 legge merke til hva konsollen har å si. 63 00:03:03,410 --> 00:03:07,890 Jeg ser her at den første forespørselen som Jeg fikk bokstavelig talt få slash katt 64 00:03:07,890 --> 00:03:10,260 dot HTML, HTTP versjon 1.1. 65 00:03:10,260 --> 00:03:12,600 Og så, i grønt hva personalet løsningen har gjort 66 00:03:12,600 --> 00:03:14,580 er det å vise meg første linje av utgangs 67 00:03:14,580 --> 00:03:16,340 at web-serveren svarer med. 68 00:03:16,340 --> 00:03:18,300 Med andre ord, vi har allerede skrevet inn koden 69 00:03:18,300 --> 00:03:21,530 som åpner opp den virtuelle konvolutt, inneholder som får forespørsel. 70 00:03:21,530 --> 00:03:23,980 Og da vi svare på det brukeren, men samtidig, 71 00:03:23,980 --> 00:03:28,780 skrive ut til utgangen skjermen her HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 å bekrefte hva vi legger i returkonvolutt, så å si, 73 00:03:31,900 --> 00:03:33,540 at vi sender tilbake til brukeren. 74 00:03:33,540 --> 00:03:36,200 >> Og så hva som skjer her er at i terminalvindu 75 00:03:36,200 --> 00:03:38,510 vi kjører på nettet server, og derfor er det 76 00:03:38,510 --> 00:03:42,480 lytting for HTTP forespørsler på TCP port 8080. 77 00:03:42,480 --> 00:03:44,960 I mellomtiden, i min nettleser, som jeg klikker gjennom hver 78 00:03:44,960 --> 00:03:48,480 av disse filene, eller til og med innspill min navngi David, og klikk deretter Submit, 79 00:03:48,480 --> 00:03:51,827 som er nettleseren min snakker til webserveren. 80 00:03:51,827 --> 00:03:54,410 Og hva webserveren er dette gjort, deretter, ved at terminalvindu 81 00:03:54,410 --> 00:03:56,370 viser meg nøyaktig den første linjen som er 82 00:03:56,370 --> 00:03:58,540 blitt mottatt i et virtuelt konvolutt og nøyaktig 83 00:03:58,540 --> 00:04:02,870 den første linjen det er å være svarte med å at webklient.