DAVID MALAN: Quindi per questo problema insieme, sei andando a implementare la vostra molto proprio server web. Vi abbiamo fornito con un po 'di codice scheletro che ti fa iniziare, ma alla fine, sei andando a finire in modo che in realtà implementa la capacità per servire le pagine web, sia statica contenuto e anche contenuti dinamici, via PHP. Diamo uno sguardo, prima di tutto modo della soluzione personale, a ciò che il risultato finale sarà. Io prima di andare a correre tilda CS50 / pset6 / server e poi precipitare p specificare una porta e poi un numero come 8080, che è abbastanza comune. E poi il nome o il percorso della directory che voglio usare come web route server, dove tutti i file stanno per essere servito da. Ho intenzione di andare avanti e premere Invio. E vedrete il testo di colore qui che il web server è usando il mio elenco pubblico e è in ascolto sulla porta 8080. Ora andiamo verso un web browser e realmente provare per connettersi a questo sito. Avviso in basso a destra angolo mano del vostro apparecchio, che c'è stato tutto questa volta un indirizzo IP. Questo è un identificatore univoco per il computer che identifica così che vi si possa accedere via browser web o qualsiasi numero di altri strumenti. Quindi ho intenzione di andare avanti e aprire Chrome nell'apparecchio e ho intenzione di visitare http://172.16.254.133 e poi colon 8080. E i due punti di importante, perché se non si specifica che la porta che ho anche specificato al comando linea, si sta effettivamente andando a parlare in dell'apparecchio proprio web server chiamato Apache, che è costruito in esso. Ma oggi vogliamo concentrarci sul nostro server web. Così ora, quando ho colpito Enter, si noterà che 501 Non implementato arriva up perché ho provato per accedere a una directory, Non un particolare file. Infatti, se si guarda verso sinistra nella mia finestra di terminale, vedrete che, mentre in ascolto sulla porta 8080, il server web ha visto la richiesta di GET / HTTP / 1.1 e quindi il server web ha risposto, come nella foto qui in rosso, con quel 501 non implementato. Curiosamente, però, c'è anche questa seconda linea di bianco, GET / favicon.ico HTTP / 1.1. Ora io sicuramente non ho fatto che io stesso, ma si scopre che Chrome, come un sacco di browser, sarà presuntuosamente supporre che il vostro sito si suppone di avere un piccolo sull'icona grafica nella scheda o successivo alla barra degli indirizzi, come un Harvard stemma o qualcosa del genere, e così è solo indovinare da modo di questo nome di file predefinito, che si potrebbe avere un file come anche questo, che non lo facciamo. E così 404 Not Found ottiene sputare indietro. Bene, ora, notare questo. Oltre alla visita questo indirizzo dentro dell'apparecchio, 172.16.254.133:8080, ma il vostro indirizzo IP, per intenderci, sarà diverso. Notate che se vado sul mio Mac o il mio PC al mio navigatore e visitare lo stesso URL, posso vedere dal mio browser preferito che si tratti di Chrome o Firefox o IE o qualcos'altro, esattamente gli stessi risultati. OK. Facciamo in realtà visitare un URL che è noto di esistere in quella directory pubblica. Vale a dire, l'indirizzo IP colon 8080 / cat.jpg. Invio. E lì, in effetti, è Cat Felice. So in anticipo che c'è anche un file cat.HTLM, quindi se ho colpito Enter, Vedo che uno pure. E notare, nel Intanto, sul abbiamo lasciato hanno un sacco di uscite verdi significanti che questi erano stati 200, il che significa che erano OK.