1 00:00:00,000 --> 00:00:09,287 2 00:00:09,287 --> 00:00:11,120 DAVID MALAN: Então, para este conjunto de problemas, você é 3 00:00:11,120 --> 00:00:13,236 vai implementar o seu servidor web próprio. 4 00:00:13,236 --> 00:00:16,110 Nós fornecemos-lhe com um pouco de código esqueleto que permite começar, 5 00:00:16,110 --> 00:00:17,818 mas, em última instância, você é vai terminá-lo 6 00:00:17,818 --> 00:00:19,940 para que ele, na verdade, implementa a capacidade 7 00:00:19,940 --> 00:00:23,980 para servir páginas web, tanto estática conteúdo e também conteúdo dinâmico, 8 00:00:23,980 --> 00:00:25,090 via PHP. 9 00:00:25,090 --> 00:00:27,380 >> Vamos dar uma olhada, pela primeira vez por caminho da solução de equipe, 10 00:00:27,380 --> 00:00:29,390 em que o resultado final vai ser. 11 00:00:29,390 --> 00:00:33,420 Eu vou primeiro a correr Tilda CS50 / pset6 / servidor 12 00:00:33,420 --> 00:00:36,330 e em seguida, traço p para especificar uma porta e, em seguida, um número 13 00:00:36,330 --> 00:00:38,410 como 8080, o que é bastante comum. 14 00:00:38,410 --> 00:00:40,420 E depois o nome ou o caminho para o diretório 15 00:00:40,420 --> 00:00:43,360 que eu quero usar como web rota do servidor, onde todos os arquivos 16 00:00:43,360 --> 00:00:44,680 vão ser servidos a partir. 17 00:00:44,680 --> 00:00:46,180 Eu estou indo para ir em frente e pressione Enter. 18 00:00:46,180 --> 00:00:49,010 E você vai ver no texto da cor aqui que o servidor web é 19 00:00:49,010 --> 00:00:52,450 usando o meu diretório público e ele está escutando na porta 8080. 20 00:00:52,450 --> 00:00:55,300 Agora vamos passar para a web browser e realmente tentar 21 00:00:55,300 --> 00:00:56,855 se conectar a este site. 22 00:00:56,855 --> 00:00:59,230 Observe no canto inferior direito canto do seu aparelho, 23 00:00:59,230 --> 00:01:02,040 que houve todo desta vez um endereço IP. 24 00:01:02,040 --> 00:01:03,890 Isso é um identificador único para o seu computador 25 00:01:03,890 --> 00:01:06,050 que identifica de forma que você pode acessá-lo 26 00:01:06,050 --> 00:01:08,261 via navegador web ou qualquer série de outras ferramentas. 27 00:01:08,261 --> 00:01:10,760 Então, eu estou indo para ir em frente e abrir Chrome no aparelho 28 00:01:10,760 --> 00:01:19,250 e eu vou te visitar http://172.16.254.133 e depois 29 00:01:19,250 --> 00:01:20,960 cólon 8080. 30 00:01:20,960 --> 00:01:24,344 E os dois pontos é importante, porque se você não especificar essa porta que eu também 31 00:01:24,344 --> 00:01:26,260 especificada no comando line, você está, na verdade, 32 00:01:26,260 --> 00:01:28,390 vai estar falando em própria web do aparelho 33 00:01:28,390 --> 00:01:30,850 servidor chamado Apache, que é construído para ele. 34 00:01:30,850 --> 00:01:33,610 Mas hoje queremos nos concentrar em nosso próprio servidor web. 35 00:01:33,610 --> 00:01:36,550 >> Então, agora quando eu pressione Enter, você vai perceber que 501 36 00:01:36,550 --> 00:01:38,380 Não implementado vem até porque eu tentei 37 00:01:38,380 --> 00:01:41,000 para acessar um diretório, não é um arquivo particular. 38 00:01:41,000 --> 00:01:43,980 Na verdade, se você olhar sobre a à esquerda na minha janela de terminal, 39 00:01:43,980 --> 00:01:46,690 você vai ver que, enquanto escutando na porta 8080, 40 00:01:46,690 --> 00:01:52,600 o servidor web vi um pedido de GET / HTTP / 1.1 e, em seguida, o servidor web 41 00:01:52,600 --> 00:01:56,680 respondeu, como retratado aqui em vermelho, com que 501 não implementado. 42 00:01:56,680 --> 00:01:59,270 >> Curiosamente, porém, há também Esta segunda linha em branco, 43 00:01:59,270 --> 00:02:03,355 GET / favicon.ico HTTP / 1.1. 44 00:02:03,355 --> 00:02:06,230 Agora eu definitivamente não fez isso eu mesmo, mas verifica-se que o Chrome, 45 00:02:06,230 --> 00:02:09,910 como um monte de navegadores, vontade presunçosamente assumir que o seu website 46 00:02:09,910 --> 00:02:13,170 é suposto ter um pouco gráfica ícone na aba ou próximo 47 00:02:13,170 --> 00:02:16,380 à barra de endereços, como um Harvard crista ou algo nesse sentido, 48 00:02:16,380 --> 00:02:19,425 e por isso é apenas adivinhando por maneira de esse nome de arquivo padrão, 49 00:02:19,425 --> 00:02:21,800 que você pode ter um arquivo assim também, o que não temos. 50 00:02:21,800 --> 00:02:24,650 E assim 404 Not Found é cuspido de volta. 51 00:02:24,650 --> 00:02:26,120 >> Bem, agora, perceber isso. 52 00:02:26,120 --> 00:02:29,440 Além de visitar Este endereço de dentro 53 00:02:29,440 --> 00:02:34,940 do aparelho, 172.16.254.133:8080, mas o seu endereço de IP, para ser claro, 54 00:02:34,940 --> 00:02:35,910 será diferente. 55 00:02:35,910 --> 00:02:39,690 Observe que, se eu for no meu Mac ou o meu PC para o meu próprio navegador 56 00:02:39,690 --> 00:02:43,200 e visitar o mesmo URL, eu posso ver no meu próprio navegador preferido 57 00:02:43,200 --> 00:02:46,340 se é Chrome ou Firefox ou IE ou qualquer outra coisa, exatamente 58 00:02:46,340 --> 00:02:47,550 os mesmos resultados. 59 00:02:47,550 --> 00:02:48,130 >> OK. 60 00:02:48,130 --> 00:02:51,820 Vamos realmente visitar uma URL que é conhecido de existir nesse diretório público. 61 00:02:51,820 --> 00:02:56,890 Ou seja, o endereço IP cólon 8080 / cat.jpg. 62 00:02:56,890 --> 00:02:57,930 Enter. 63 00:02:57,930 --> 00:02:59,470 E há, de fato, é o gato feliz. 64 00:02:59,470 --> 00:03:03,340 Sei de antemão que há também um arquivo cat.HTLM, então se eu teclar Enter, 65 00:03:03,340 --> 00:03:04,469 Eu vejo que um também. 66 00:03:04,469 --> 00:03:06,260 E note, no Entretanto, no que à esquerda 67 00:03:06,260 --> 00:03:08,176 tem um monte de saídas verdes significando 68 00:03:08,176 --> 00:03:13,360 que estes eram 200 status, que significa que eles foram OK. 69 00:03:13,360 --> 00:03:18,294