1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:02,660 >> СПИКЕР 1: Ладно, давайте посмотреть, как на самом деле решение персонала 3 00:00:02,660 --> 00:00:04,760 работает, так что вы получить представление, во-первых 4 00:00:04,760 --> 00:00:06,930 как предполагается веб-сервер бежать, и как вы можете фактически 5 00:00:06,930 --> 00:00:08,480 получить это работает на Вашем компьютере. 6 00:00:08,480 --> 00:00:09,350 Так картина его здесь. 7 00:00:09,350 --> 00:00:13,640 Я уже установлен в CS50 ID pset6 точка ZIP, в соответствии со спецификацией. 8 00:00:13,640 --> 00:00:16,197 Я расстегнул ее, и я CDED в моем каталоге pset6. 9 00:00:16,197 --> 00:00:18,780 Одним из первых вещей, которые вы захочет сделать, особенно 10 00:00:18,780 --> 00:00:22,010 если вы были с помощью CS50 IDE играть наряду с недавних лекций, в котором 11 00:00:22,010 --> 00:00:25,640 мы использовали PHP в CS50 IDE, в частности, 12 00:00:25,640 --> 00:00:29,050 с помощью этого веб-сервер Apache под названием, в котором вы можете запускать и останавливать его 13 00:00:29,050 --> 00:00:30,910 с этой командой, Apache 50. 14 00:00:30,910 --> 00:00:34,160 Во-первых, идти вперед и типа "Апач" 50 остановка 15 00:00:34,160 --> 00:00:37,370 просто чтобы убедиться, что если вы были следующих вместе в последние дни, 16 00:00:37,370 --> 00:00:40,090 и вы включена Apache, вы выключения таким образом 17 00:00:40,090 --> 00:00:41,360 остановив сервер. 18 00:00:41,360 --> 00:00:44,110 Теперь, что я собираюсь сделать, это точно то, что спецификация говорит мне делать. 19 00:00:44,110 --> 00:00:49,770 Я собираюсь поехать в Тильда CS50 слэш pset6 сервер слэш, и просто нажмите Enter. 20 00:00:49,770 --> 00:00:52,840 Вы заметите, что я кричал на с некоторой информацией об использовании, в результате чего 21 00:00:52,840 --> 00:00:54,960 Я должен быть запущен программа как сервер 22 00:00:54,960 --> 00:00:58,230 с дополнительным тире р, а затем номер порта, который вы можете на самом деле 23 00:00:58,230 --> 00:01:00,720 оставьте поле пустым потому что по умолчанию, в соответствии с спецификацией, 24 00:01:00,720 --> 00:01:04,010 веб-сервер будет Предположим, что вы хотите порт 8080. 25 00:01:04,010 --> 00:01:07,560 Между тем, вы, возможно, помните, что порт 8080 на самом деле не стандарт, 26 00:01:07,560 --> 00:01:09,380 а порт 80 является Количество мы говорили 27 00:01:09,380 --> 00:01:11,440 о том, по умолчанию для протокола HTTP. 28 00:01:11,440 --> 00:01:14,870 Ну, оказывается, что CS50 IDE просто написал в пути, 29 00:01:14,870 --> 00:01:18,730 таким образом, что, когда вы с помощью браузера попробовать посетить порт 80 от внешнего мира, 30 00:01:18,730 --> 00:01:22,210 это будет сортировать волшебным порт вперед или перенаправить себя, 31 00:01:22,210 --> 00:01:25,200 к порту 8080 внутри самой сервере. 32 00:01:25,200 --> 00:01:29,330 >> Таким образом, последняя вещь здесь является команда Аргумент строка, путь к маршруту. 33 00:01:29,330 --> 00:01:31,590 И что я только имею в виду, в какой папке я сделать 34 00:01:31,590 --> 00:01:34,820 хочу рассказать сервера использовать, чтобы служить файлов? 35 00:01:34,820 --> 00:01:39,030 Другими словами, если пользователь посещает слэш, что он или она должны видеть? 36 00:01:39,030 --> 00:01:41,030 Ну, давайте идти вперед и запустить именно это снова, 37 00:01:41,030 --> 00:01:43,940 на этот раз указав, что я хочу корень моей веб-сервера 38 00:01:43,940 --> 00:01:48,210 чтобы быть публичным каталог, который приходит с проблемой установить шесть код распределения. 39 00:01:48,210 --> 00:01:50,620 Когда я попал Enter, вы увидите в желтом здесь, напоминание 40 00:01:50,620 --> 00:01:52,260 чтобы какую папку я на самом деле с помощью. 41 00:01:52,260 --> 00:01:55,870 В этом случае, это длинная строка, "домой Ubuntu рабочее pset6 общественности." 42 00:01:55,870 --> 00:01:57,500 И последнее слово, что является ключевым. 43 00:01:57,500 --> 00:02:01,180 И тогда, наконец, по-видимому, мой Сервер теперь слушать на порту 8080. 44 00:02:01,180 --> 00:02:05,860 >> То, что я рядом собираюсь сделать, это напомним, что в CS50 ID в верхнем правом углу 45 00:02:05,860 --> 00:02:09,440 вашего экрана, вы увидите, URL-адрес, который ide50-username.cs50.io. 46 00:02:09,440 --> 00:02:12,860 47 00:02:12,860 --> 00:02:15,080 И в самом деле, если вы нажмете что вы будете увезли 48 00:02:15,080 --> 00:02:17,090 в другой вкладке браузера, что, в данном случае, 49 00:02:17,090 --> 00:02:20,830 собирается показать мне содержимое из моих веб-серверов корней. 50 00:02:20,830 --> 00:02:24,770 Другими словами, файлы, которые вы здесь видите, кошка точка HTML, кошка точка JPEG, Favicon точка 51 00:02:24,770 --> 00:02:27,690 ICO, привет точка HTML, привет точка PHP, и тест, 52 00:02:27,690 --> 00:02:29,800 все того же Содержание, что вы видели бы 53 00:02:29,800 --> 00:02:32,560 с LS внутри моей общественной директории. 54 00:02:32,560 --> 00:02:36,790 И, что приятно, что, если я иду вперед и нажмите Теперь кошки точка HTML, 55 00:02:36,790 --> 00:02:38,710 Я вижу кота точка HTML. 56 00:02:38,710 --> 00:02:42,660 И если я нажимаю на кота точка JPEG, или привет точка HTML, 57 00:02:42,660 --> 00:02:46,650 или даже ввести мое имя Давида, а затем нажмите кнопку "поздороваться", 58 00:02:46,650 --> 00:02:49,420 Вы увидите, что все из файлы работа, потому что персонал 59 00:02:49,420 --> 00:02:52,820 Решение, конечно, установлены в CS50 ID является полностью функциональной. 60 00:02:52,820 --> 00:02:57,090 Так работает точно, как свои собственные Решение должно в конечном счете работать. 61 00:02:57,090 --> 00:03:00,990 >> Между тем, если мы вернемся к моей терминала окно, в котором я выполнил команду сервера, 62 00:03:00,990 --> 00:03:03,410 заметить, что консоль была говорю. 63 00:03:03,410 --> 00:03:07,890 Я вижу, что здесь первый запрос, что Я получил буквально получить слэш кошку 64 00:03:07,890 --> 00:03:10,260 точка HTML, HTTP версии 1.1. 65 00:03:10,260 --> 00:03:12,600 А потом, в зеленый, что решение Персонал сделал 66 00:03:12,600 --> 00:03:14,580 это показывает мне Первая строка вывода 67 00:03:14,580 --> 00:03:16,340 что веб-сервер отвечает с. 68 00:03:16,340 --> 00:03:18,300 Другими словами, мы уже написал код 69 00:03:18,300 --> 00:03:21,530 что открывает, что виртуальный конверт, содержащий эту просьбу получить. 70 00:03:21,530 --> 00:03:23,980 И тогда мы отвечаем на Пользователь но, одновременно, 71 00:03:23,980 --> 00:03:28,780 печать на экране вывода здесь HTTP 1.1, 200 ОК 72 00:03:28,780 --> 00:03:31,900 чтобы подтвердить, что мы вкладываем в возвращение конверт, так сказать, 73 00:03:31,900 --> 00:03:33,540 что мы посылаем обратно пользователю. 74 00:03:33,540 --> 00:03:36,200 >> И так, что происходит здесь на что в окне терминала, 75 00:03:36,200 --> 00:03:38,510 мы бежим в Интернете Сервер, и, следовательно, это 76 00:03:38,510 --> 00:03:42,480 прислушиваясь к HTTP- запросы на TCP порт 8080. 77 00:03:42,480 --> 00:03:44,960 Между тем, в моем браузере, как я нажмите через каждый 78 00:03:44,960 --> 00:03:48,480 из этих файлов, или даже вход моя назвать Давида, а затем нажмите кнопку Отправить, 79 00:03:48,480 --> 00:03:51,827 что мой браузер говорить на веб-сервере. 80 00:03:51,827 --> 00:03:54,410 И то, что делает то веб-сервера, Затем, в этом окне терминала 81 00:03:54,410 --> 00:03:56,370 показывает мне точно первая линия, что это 82 00:03:56,370 --> 00:03:58,540 был получен в виртуальном конверт и точно 83 00:03:58,540 --> 00:04:02,870 первая линия, это время ответил на эту веб-клиента.