1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> COLUNA 1: Tudo bem, vamos dar uma veja como a solução equipe, na verdade 3 00:00:02,660 --> 00:00:04,760 opera, de modo que você ter uma noção, em primeiro lugar 4 00:00:04,760 --> 00:00:06,930 como o servidor web é suposto para ser executado, e como você pode, na verdade, 5 00:00:06,930 --> 00:00:08,480 obtê-lo correr em seu próprio computador. 6 00:00:08,480 --> 00:00:09,350 Então, imagine-lo aqui. 7 00:00:09,350 --> 00:00:13,640 Eu já instalado em CS50 ID zip ponto pset6, acordo com a especificação. 8 00:00:13,640 --> 00:00:16,197 Eu abriu o zíper, e eu tenho CDED em meu diretório pset6. 9 00:00:16,197 --> 00:00:18,780 Uma das primeiras coisas que você é vai querer fazer, especialmente 10 00:00:18,780 --> 00:00:22,010 se você estiver usando um IDE CS50 para jogar juntamente com leituras recentes, caracterizado 11 00:00:22,010 --> 00:00:25,640 estamos usando PHP em CS50 IDE, especificamente, 12 00:00:25,640 --> 00:00:29,050 usando o servidor web Apache chamado, através do qual você pode iniciar e parar com isso 13 00:00:29,050 --> 00:00:30,910 com esse comando, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Primeiro, vá em frente e digite "parada Apache 50" 15 00:00:34,160 --> 00:00:37,370 só para ter certeza que se você fosse acompanhando nos últimos dias, 16 00:00:37,370 --> 00:00:40,090 e você ligado Apache, você é desligá-lo desta forma 17 00:00:40,090 --> 00:00:41,360 parando o servidor. 18 00:00:41,360 --> 00:00:44,110 Agora, o que eu vou fazer é exatamente o que a especificação me diz para fazer. 19 00:00:44,110 --> 00:00:49,770 Eu estou indo para ir para Tilda CS50 barra servidor barra pset6, e apenas pressione Enter. 20 00:00:49,770 --> 00:00:52,840 Você vai notar que eu estou gritado com algumas informações de uso, segundo o qual 21 00:00:52,840 --> 00:00:54,960 Eu deveria estar em execução como o programa servidor 22 00:00:54,960 --> 00:00:58,230 com um traço opcional p e, em seguida, um número da porta, o que você pode realmente 23 00:00:58,230 --> 00:01:00,720 deixe em branco porque por padrão, por a especificação, 24 00:01:00,720 --> 00:01:04,010 o servidor web vai supor que você quer a porta 8080. 25 00:01:04,010 --> 00:01:07,560 Enquanto isso, você deve se lembrar que porta 8080 não é realmente padrão, 26 00:01:07,560 --> 00:01:09,380 em vez da porta 80 é a número que nós falamos 27 00:01:09,380 --> 00:01:11,440 sobre ser o padrão para HTTP. 28 00:01:11,440 --> 00:01:14,870 Bem, acontece que CS50 IDE é simplesmente configurado de uma maneira, 29 00:01:14,870 --> 00:01:18,730 de tal forma que quando você com um navegador tentar para visitar a porta 80 do mundo exterior, 30 00:01:18,730 --> 00:01:22,210 que vai classificar de magicamente porta para a frente, ou redirecionar si, 31 00:01:22,210 --> 00:01:25,200 a porta 8080 no interior do seu próprio servidor. 32 00:01:25,200 --> 00:01:29,330 >> Então a última coisa aqui é o comando argumento de linha, o caminho ao percurso. 33 00:01:29,330 --> 00:01:31,590 E por que eu simplesmente Quer dizer, o que eu faço pasta 34 00:01:31,590 --> 00:01:34,820 quero dizer ao servidor para usar para servir arquivos? 35 00:01:34,820 --> 00:01:39,030 Em outras palavras, se o usuário visita slash, o que ele ou ela deve ver? 36 00:01:39,030 --> 00:01:41,030 Bem, vamos em frente e executar exatamente isso de novo, 37 00:01:41,030 --> 00:01:43,940 desta vez especificando que eu quer a raiz do meu servidor web 38 00:01:43,940 --> 00:01:48,210 para ser o diretório público, que vem com problema de definir seis código de distribuição. 39 00:01:48,210 --> 00:01:50,620 Quando eu pressionar Enter, você verá em amarelo aqui, um lembrete 40 00:01:50,620 --> 00:01:52,260 quanto ao que pasta Na verdade, estou usando. 41 00:01:52,260 --> 00:01:55,870 Neste caso, é uma cadeia longa, "espaço de trabalho pset6 pública casa ubuntu". 42 00:01:55,870 --> 00:01:57,500 E a última palavra é o que é fundamental. 43 00:01:57,500 --> 00:02:01,180 E então, finalmente, aparentemente, a minha servidor agora está escutando na porta 8080. 44 00:02:01,180 --> 00:02:05,860 >> O que eu estou ao lado vai fazer é lembrar que em ID CS50 no canto superior direito 45 00:02:05,860 --> 00:02:09,440 da tela, você vai ver um URL que é ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 E, de fato, se você clicar isso, você vai ser arrastada 48 00:02:15,080 --> 00:02:17,090 a outra aba do navegador, que, nesse caso, 49 00:02:17,090 --> 00:02:20,830 vai me mostrar o conteúdo dos meus servidores web raízes. 50 00:02:20,830 --> 00:02:24,770 Em outras palavras, os arquivos que você vê aqui, gato dot HTML, gato ponto JPEG, favicon dot 51 00:02:24,770 --> 00:02:27,690 ico, Olá HTML ponto, Olá php ponto e teste, 52 00:02:27,690 --> 00:02:29,800 são todos da mesma conteúdo que você veria 53 00:02:29,800 --> 00:02:32,560 com LS dentro do meu diretório público. 54 00:02:32,560 --> 00:02:36,790 E o que é bom é que, se eu for em frente e agora clique no gato dot HTML, 55 00:02:36,790 --> 00:02:38,710 Vejo HTML gato ponto. 56 00:02:38,710 --> 00:02:42,660 E se eu clicar no gato dot JPEG, HTML ou Olá ponto, 57 00:02:42,660 --> 00:02:46,650 ou mesmo digitar meu nome David, e, em seguida, clique em "dizer Olá", 58 00:02:46,650 --> 00:02:49,420 você vai ver que todo o arquivos de trabalhar porque a equipe 59 00:02:49,420 --> 00:02:52,820 solução, é claro, instalado em CS50 ID é totalmente funcional. 60 00:02:52,820 --> 00:02:57,090 Assim, ele funciona exatamente como o seu próprio solução deve, em última análise funciona. 61 00:02:57,090 --> 00:03:00,990 >> Enquanto isso, se voltarmos ao meu terminal janela, onde eu corri o comando do servidor, 62 00:03:00,990 --> 00:03:03,410 observe o que o console foi dizendo. 63 00:03:03,410 --> 00:03:07,890 Vejo aqui que o primeiro pedido que Eu recebi foi literalmente obter barra gato 64 00:03:07,890 --> 00:03:10,260 dot HTML, HTTP versão 1.1. 65 00:03:10,260 --> 00:03:12,600 E então, o que em verde a solução equipe tem feito 66 00:03:12,600 --> 00:03:14,580 é isso está me mostrando o primeira linha de saída 67 00:03:14,580 --> 00:03:16,340 que o servidor web está respondendo com. 68 00:03:16,340 --> 00:03:18,300 Em outras palavras, nós temos escrito já o código 69 00:03:18,300 --> 00:03:21,530 que abre o envelope virtual, contendo esse pedido get. 70 00:03:21,530 --> 00:03:23,980 E, então, responder ao utilizador, mas, ao mesmo tempo, 71 00:03:23,980 --> 00:03:28,780 imprimir a tela de saída aqui HTTP 1.1, 200 OK 72 00:03:28,780 --> 00:03:31,900 para confirmar o que estamos colocando em o envelope de devolução, por assim dizer, 73 00:03:31,900 --> 00:03:33,540 que estamos enviando para o usuário. 74 00:03:33,540 --> 00:03:36,200 >> E então o que está acontecendo aqui é que na janela do terminal, 75 00:03:36,200 --> 00:03:38,510 estamos executando o web servidor, e, por conseguinte, é 76 00:03:38,510 --> 00:03:42,480 escuta de HTTP solicitações na porta TCP 8080. 77 00:03:42,480 --> 00:03:44,960 Enquanto isso, em meu navegador web, como eu clicar em cada 78 00:03:44,960 --> 00:03:48,480 desses arquivos, ou mesmo minha entrada nomear David, e clique em Enviar, 79 00:03:48,480 --> 00:03:51,827 que é o meu navegador conversando com o servidor web. 80 00:03:51,827 --> 00:03:54,410 E o que procede do servidor web, em seguida, em que a janela do terminal 81 00:03:54,410 --> 00:03:56,370 está me mostrando exatamente a primeira linha é 82 00:03:56,370 --> 00:03:58,540 sido recebida numa Virtual envelope e exatamente 83 00:03:58,540 --> 00:04:02,870 a primeira linha que está a ser respondeu com a que o cliente web.