1 00:00:00,000 --> 00:00:09,287 2 00:00:09,287 --> 00:00:11,120 DAVID MALAN: Quindi per questo problema insieme, sei 3 00:00:11,120 --> 00:00:13,236 andando a implementare la vostra molto proprio server web. 4 00:00:13,236 --> 00:00:16,110 Vi abbiamo fornito con un po 'di codice scheletro che ti fa iniziare, 5 00:00:16,110 --> 00:00:17,818 ma alla fine, sei andando a finire 6 00:00:17,818 --> 00:00:19,940 in modo che in realtà implementa la capacità 7 00:00:19,940 --> 00:00:23,980 per servire le pagine web, sia statica contenuto e anche contenuti dinamici, 8 00:00:23,980 --> 00:00:25,090 via PHP. 9 00:00:25,090 --> 00:00:27,380 >> Diamo uno sguardo, prima di tutto modo della soluzione personale, 10 00:00:27,380 --> 00:00:29,390 a ciò che il risultato finale sarà. 11 00:00:29,390 --> 00:00:33,420 Io prima di andare a correre tilda CS50 / pset6 / server 12 00:00:33,420 --> 00:00:36,330 e poi precipitare p specificare una porta e poi un numero 13 00:00:36,330 --> 00:00:38,410 come 8080, che è abbastanza comune. 14 00:00:38,410 --> 00:00:40,420 E poi il nome o il percorso della directory 15 00:00:40,420 --> 00:00:43,360 che voglio usare come web route server, dove tutti i file 16 00:00:43,360 --> 00:00:44,680 stanno per essere servito da. 17 00:00:44,680 --> 00:00:46,180 Ho intenzione di andare avanti e premere Invio. 18 00:00:46,180 --> 00:00:49,010 E vedrete il testo di colore qui che il web server è 19 00:00:49,010 --> 00:00:52,450 usando il mio elenco pubblico e è in ascolto sulla porta 8080. 20 00:00:52,450 --> 00:00:55,300 Ora andiamo verso un web browser e realmente provare 21 00:00:55,300 --> 00:00:56,855 per connettersi a questo sito. 22 00:00:56,855 --> 00:00:59,230 Avviso in basso a destra angolo mano del vostro apparecchio, 23 00:00:59,230 --> 00:01:02,040 che c'è stato tutto questa volta un indirizzo IP. 24 00:01:02,040 --> 00:01:03,890 Questo è un identificatore univoco per il computer 25 00:01:03,890 --> 00:01:06,050 che identifica così che vi si possa accedere 26 00:01:06,050 --> 00:01:08,261 via browser web o qualsiasi numero di altri strumenti. 27 00:01:08,261 --> 00:01:10,760 Quindi ho intenzione di andare avanti e aprire Chrome nell'apparecchio 28 00:01:10,760 --> 00:01:19,250 e ho intenzione di visitare http://172.16.254.133 e poi 29 00:01:19,250 --> 00:01:20,960 colon 8080. 30 00:01:20,960 --> 00:01:24,344 E i due punti di importante, perché se non si specifica che la porta che ho anche 31 00:01:24,344 --> 00:01:26,260 specificato al comando linea, si sta effettivamente 32 00:01:26,260 --> 00:01:28,390 andando a parlare in dell'apparecchio proprio web 33 00:01:28,390 --> 00:01:30,850 server chiamato Apache, che è costruito in esso. 34 00:01:30,850 --> 00:01:33,610 Ma oggi vogliamo concentrarci sul nostro server web. 35 00:01:33,610 --> 00:01:36,550 >> Così ora, quando ho colpito Enter, si noterà che 501 36 00:01:36,550 --> 00:01:38,380 Non implementato arriva up perché ho provato 37 00:01:38,380 --> 00:01:41,000 per accedere a una directory, Non un particolare file. 38 00:01:41,000 --> 00:01:43,980 Infatti, se si guarda verso sinistra nella mia finestra di terminale, 39 00:01:43,980 --> 00:01:46,690 vedrete che, mentre in ascolto sulla porta 8080, 40 00:01:46,690 --> 00:01:52,600 il server web ha visto la richiesta di GET / HTTP / 1.1 e quindi il server web 41 00:01:52,600 --> 00:01:56,680 ha risposto, come nella foto qui in rosso, con quel 501 non implementato. 42 00:01:56,680 --> 00:01:59,270 >> Curiosamente, però, c'è anche questa seconda linea di bianco, 43 00:01:59,270 --> 00:02:03,355 GET / favicon.ico HTTP / 1.1. 44 00:02:03,355 --> 00:02:06,230 Ora io sicuramente non ho fatto che io stesso, ma si scopre che Chrome, 45 00:02:06,230 --> 00:02:09,910 come un sacco di browser, sarà presuntuosamente supporre che il vostro sito 46 00:02:09,910 --> 00:02:13,170 si suppone di avere un piccolo sull'icona grafica nella scheda o successivo 47 00:02:13,170 --> 00:02:16,380 alla barra degli indirizzi, come un Harvard stemma o qualcosa del genere, 48 00:02:16,380 --> 00:02:19,425 e così è solo indovinare da modo di questo nome di file predefinito, 49 00:02:19,425 --> 00:02:21,800 che si potrebbe avere un file come anche questo, che non lo facciamo. 50 00:02:21,800 --> 00:02:24,650 E così 404 Not Found ottiene sputare indietro. 51 00:02:24,650 --> 00:02:26,120 >> Bene, ora, notare questo. 52 00:02:26,120 --> 00:02:29,440 Oltre alla visita questo indirizzo dentro 53 00:02:29,440 --> 00:02:34,940 dell'apparecchio, 172.16.254.133:8080, ma il vostro indirizzo IP, per intenderci, 54 00:02:34,940 --> 00:02:35,910 sarà diverso. 55 00:02:35,910 --> 00:02:39,690 Notate che se vado sul mio Mac o il mio PC al mio navigatore 56 00:02:39,690 --> 00:02:43,200 e visitare lo stesso URL, posso vedere dal mio browser preferito 57 00:02:43,200 --> 00:02:46,340 che si tratti di Chrome o Firefox o IE o qualcos'altro, esattamente 58 00:02:46,340 --> 00:02:47,550 gli stessi risultati. 59 00:02:47,550 --> 00:02:48,130 >> OK. 60 00:02:48,130 --> 00:02:51,820 Facciamo in realtà visitare un URL che è noto di esistere in quella directory pubblica. 61 00:02:51,820 --> 00:02:56,890 Vale a dire, l'indirizzo IP colon 8080 / cat.jpg. 62 00:02:56,890 --> 00:02:57,930 Invio. 63 00:02:57,930 --> 00:02:59,470 E lì, in effetti, è Cat Felice. 64 00:02:59,470 --> 00:03:03,340 So in anticipo che c'è anche un file cat.HTLM, quindi se ho colpito Enter, 65 00:03:03,340 --> 00:03:04,469 Vedo che uno pure. 66 00:03:04,469 --> 00:03:06,260 E notare, nel Intanto, sul abbiamo lasciato 67 00:03:06,260 --> 00:03:08,176 hanno un sacco di uscite verdi significanti 68 00:03:08,176 --> 00:03:13,360 che questi erano stati 200, il che significa che erano OK. 69 00:03:13,360 --> 00:03:18,294