Spreker 1: Alle reg, laat ons 'n kyk na hoe die personeel oplossing eintlik bedryf, sodat jy kry 'n gevoel, eerste af hoe die web bediener veronderstel om te hardloop, en hoe jy kan eintlik kry dit op jou eie rekenaar. So Picture It hier. Ek het reeds in CS50 ID geïnstalleer pset6 dot zip, per die spesifikasie. Ek het oopgemaak, en ek het CDed in my pset6 gids. Een van die eerste dinge wat jy gaan wil doen, veral as jy het al met behulp van 'CS50 IDE te speel saam met die onlangse lesings, waarin ons het al met behulp van PHP in CS50 IDE, spesifiek, die gebruik van daardie web server genoem Apache, waardeur jy kan begin en stop dit met daardie bevel, Apache 50. Eerstens, gaan voort en tik "Apache 50 stop" net om seker te maak dat as jy volgende saam in die afgelope dae, en jy het op Apache, jy is draai dit af op hierdie manier deur die stop van die bediener. Nou, wat ek gaan doen, is om presies wat die spec vertel my om te doen. Ek gaan om te gaan na Tilda CS50 slash pset6 slash bediener, en net druk Enter. Jy sal sien dat ek geskree met 'n paar inligting oor die gebruik, waardeur Ek moet loop die program as bediener met 'n opsionele Dash p en dan 'n poort nommer wat jy kan eintlik verlaat leeg want deur verstek per die spec, die web bediener gaan aanvaar dat jy wil hawe 8080. Intussen, kan jy onthou dat hawe 8080 is nie regtig standaard, eerder poort 80 is die getal wat ons het gepraat oor die feit dat die verstek vir HTTP. Wel, blyk dat CS50 IDE eenvoudig ingestel op 'n manier, so dat wanneer jy met 'n leser probeer na die hawe 80 besoek uit die buite wêreld, dit gaan mettertyd soort hawe vorentoe, of lei self, na die hawe 8080 binnekant van jou bediener self. So is die laaste ding hier is die opdrag line argument, die pad na die roete. En dat ek net bedoel, wat gids ek wil die bediener vertel om te gebruik om te dien op lêers? Met ander woorde, as die gebruiker besoeke streep, wat moet hy of sy sien? Wel, laat ons gaan voort en hardloop presies dit weer hierdie tyd spesifiseer dat ek wil hê dat die wortel van my web bediener aan die publiek gids wees, wat kom met die probleem sit ses verspreiding kode. Toe ek druk Enter, sal jy sien in geel hier, 'n herinnering as wat ek eintlik gids gebruik nie. In hierdie geval, dit is 'n lang tou, "home ubuntu werkspasie pset6 publiek." En dat dit die laaste woord is wat is die sleutel. En dan laastens, glo, my bediener is nou luister op poort 8080. Wat ek volgende gaan doen, is onthou dat in CS50 ID in die boonste regterkantste hoek van jou skerm, jy gaan om te sien 'n URL wat is ide50-username.cs50.io. En inderdaad, as jy klik dat, sal jy weg wees geklits na 'n ander blad leser, dat, in hierdie geval, gaan my die inhoud te wys van my web bedieners wortels. Met ander woorde, die lêers wat jy hier sien, kat dot HTML, kat dot JPEG, favicon dot ico, hello dot HTML, hallo dot php, en toets is almal van dieselfde inhoud wat jy wil sien met LS binnekant van my openbare gids. En wat is lekker is dat as ek gaan voort en klik nou op die kat dot HTML, Ek sien kat dot HTML. En as ek op die kat dot JPEG, of hallo dot HTML, of selfs tik in my naam Dawid en kliek "sê hello," sal jy sien dat al die lêers te werk omdat die personeel oplossing, natuurlik, geïnstalleer in CS50 ID is ten volle funksioneel. So werk dit presies soos jou eie oplossing moet uiteindelik werk. Intussen, as ons gaan terug na my terminale venster, waar ek hardloop die bediener opdrag, sien wat die konsole is gesê. Ek sien hier dat die eerste versoek dat Ek het letterlik kry slash kat dot HTML, HTTP weergawe 1.1. En dan, in die groen wat die personeel oplossing gedoen is dit my die eerste reël van uitset dat die web bediener reageer met. Met ander woorde, ons het reeds die kode geskryf wat oopmaak dat virtuele koevert, bevat wat kry versoek. En dan reageer ons die gebruiker, maar terselfdertyd, druk op die skerm uitset hier HTTP 1.1, 200 OK om te bevestig wat ons is om in die terugkeer koevert, so te sê, dat ons terug stuur aan die gebruiker. En so wat gaan aan hier wat in die terminale venster, ons hardloop die web bediener, en daarom is dit luister vir HTTP versoeke op TCP-poort 8080. Intussen, in my webblaaier, as ek op deur elke van die lêers, of selfs insette my noem Dawid, en dan klik, dit is my browser praat met die web-bediener. En wat het van die web bediener se dan, in daardie terminale venster wys presies my die eerste lyn wat in 'n virtuele ontvang koevert en presies die eerste lyn wat die wese gereageer met daardie web kliënt.