SPEAKER 1: Okay, lad os tage et se på, hvordan personalet løsningen faktisk opererer, så du få en følelse, første off hvordan webserveren er meningen til at køre, og hvordan du rent faktisk kan få det kører på din egen computer. Så billedet det her. Jeg har allerede installeret i CS50 ID pset6 dot lynlås, pr specifikationen. Jeg har pakket det, og jeg har CDed ind i min pset6 mappe. En af de første ting, du er vil ønsker at gøre, især Hvis du har brugt en CS50 IDE til at spille sammen med de seneste foredrag, hvor vi har med PHP i CS50 IDE specifikt ved hjælp af denne web-server kaldet Apache, hvor du kan starte og stoppe det med denne kommando, Apache 50. Først, gå videre og skrive "Apache 50 stop" bare for at sikre, at hvis du var følge med i de seneste dage, og du tændt Apache, er du slukke den på denne måde ved at standse serveren. Nu, hvad jeg har tænkt mig at gøre, er netop hvad spec fortæller mig at gøre. Jeg har tænkt mig at gå til Tilda CS50 skråstreg pset6 skråstreg-server, og bare trykke Enter. Du vil opdage, at jeg råbte på med nogle brugsoplysninger, hvorved Jeg skal køre programmet som serveren med en valgfri streg p og derefter en portnummer, som du kan faktisk udfyldes ikke fordi ved standard pr spec, webserveren vil antage, at du vil have port 8080. I mellemtiden kan du huske, at port 8080 er egentlig ikke standard, snarere port 80 er nummer vi har talt om at være standard for HTTP. Nå, viser sig, at CS50 IDE er simpelthen udformet på en sådan måde, sådan, at når man med en browser prøve at besøge port 80 fra omverdenen, det kommer til at sortere på magisk havn frem, eller omdirigere sig selv, til port 8080 inde af din server selv. Så det sidste, her er kommandoen line argument, stien til ruten. Og ved at jeg bare mener, hvad mappe gør jeg ønsker at fortælle serveren at bruge til at tjene op filer? Med andre ord, hvis brugeren besøger slash, hvad skal han eller hun ser? Nå, lad os gå videre og køre præcis det igen, denne gang at præcisere, at jeg ønsker roden af ​​min web-server at være den offentlige mappe, der kommer med problemet sæt seks fordeling kode. Når jeg ramte Enter, vil du se i gult her, en påmindelse om, hvilken mappe jeg faktisk bruger. I dette tilfælde, det er en lang streng, "home ubuntu arbejdsområde pset6 offentligheden." Og det sidste ord er det, der er nøglen. Og så endelig, tilsyneladende, min Serverens nu lytter på port 8080. Hvad jeg siden kommer til at gøre, er at minde om, at i CS50-id i øverste højre hjørne på skærmen, er du nødt til at se en webadresse, der er ide50-username.cs50.io. Og ja, hvis du klikker at, vil du blive ført væk til en anden fane browser at i dette tilfælde, kommer til at vise mig indholdet af min web servere rødder. Med andre ord, de filer, du ser her, cat dot HTML, kat dot JPEG, favicon dot ico, hej dot HTML, hej dot php, og test, er alle af samme indhold, som du ville se med LS inde i min offentlige mappe. Og hvad er rart er, at hvis jeg går videre og klik nu på katten dot HTML, Jeg ser kat dot HTML. Og hvis jeg klikker på cat dot JPEG eller goddag dot HTML, eller endda skrive mit navn David, og derefter klikke på "sige hej" vil du se, at alle de filer arbejde, fordi personalet opløsning, naturligvis installeret i CS50-id er fuldt funktionel. Så det fungerer præcis som din egen Opløsningen skal i sidste ende fungere. I mellemtiden, hvis vi går tilbage til min terminal vindue, hvor jeg kørte serveren kommandoen, mærke til, hvad konsollen har sagt. Jeg ser her, at den første anmodning om, at Jeg modtog var bogstaveligt få skråstreg kat dot HTML, HTTP version 1.1. Og så, i grøn hvad personalet løsning har gjort er det viser mig første linje af produktionen at webserveren svarer med. Med andre ord, vi har allerede skrevet koden der åbner det virtuelle kuvert, indeholder, der får anmodning. Og så er vi reagere på den bruger, men samtidigt, udskrive til output skærmen her HTTP 1.1, 200 OK at bekræfte, hvad vi putter i tilbagevenden kuvert, så at sige, at vi sender tilbage til brugeren. Og så, hvad der foregår her, er at i terminalvinduet, Vi kører på nettet server, og derfor er det lytter til HTTP anmodninger på TCP-port 8080. I mellemtiden, i min webbrowser, da jeg klikker gennem hver af disse filer, eller endda input min navn David, og klik derefter på Send, det er min browser taler til webserveren. Og hvad webserveren er dette kommet, derefter, idet terminalvindue viser mig præcis den første linje, der er blevet modtaget i et virtuelt kuvert og præcis den første linje der bliver reagerede med til, at web-klient.