1 00:00:00,000 --> 00:00:00,200 2 00:00:00,200 --> 00:00:02,280 >> СПИКЕР 1: Ладно, так, что это вы конкретно нужно сделать? 3 00:00:02,280 --> 00:00:04,140 Ну, оказывается, есть всего четыре функции 4 00:00:04,140 --> 00:00:06,390 что вам нужно, чтобы реализовать Функциональность которого является 5 00:00:06,390 --> 00:00:08,520 неотъемлемой надлежащее Работа веб-сервера, 6 00:00:08,520 --> 00:00:10,720 но которого все поведение очень узко 7 00:00:10,720 --> 00:00:13,104 определяется, таким образом, что они только сделать довольно много одну вещь. 8 00:00:13,104 --> 00:00:15,270 Первое, что вы собираетесь нужно сделать это реализовать, 9 00:00:15,270 --> 00:00:17,540 в соответствии со спецификацией, Функция просмотра. 10 00:00:17,540 --> 00:00:20,900 Это довольно простая функция в конец, который принимает в качестве аргумента 11 00:00:20,900 --> 00:00:24,690 независимо от пути к файлу что пользователь хочет, чтобы запросить, 12 00:00:24,690 --> 00:00:28,310 и вы должны отвечать с так называемый тип MIME, или Content-Type, 13 00:00:28,310 --> 00:00:29,200 из этого файла. 14 00:00:29,200 --> 00:00:31,415 Например, если это файл, как, привет точка 15 00:00:31,415 --> 00:00:37,470 HTML вы собираетесь реагировать на MIME с тип цитатой конец цитаты текст слэш HTML. 16 00:00:37,470 --> 00:00:40,920 >> Или, если это изображение, вы можете ответить изображения точка слэш 17 00:00:40,920 --> 00:00:42,990 Миг или изображение JPEG слэш. 18 00:00:42,990 --> 00:00:46,280 Смотрите спецификации для различных форматы файлов необходимо обнаружить. 19 00:00:46,280 --> 00:00:49,760 Но это действительно сводится к принимая посмотреть на пути, что вы прошлое, 20 00:00:49,760 --> 00:00:52,870 и, глядя на его файле расширение, последние несколько символов 21 00:00:52,870 --> 00:00:54,297 после периода задней или точкой. 22 00:00:54,297 --> 00:00:57,130 Таким образом, мы оставим его для вас с некоторыми из намеков в описании 23 00:00:57,130 --> 00:01:00,170 чтобы выяснить, как именно, чтобы найти что точка и расширение файла 24 00:01:00,170 --> 00:01:02,840 так что вы можете сделать отображение одного к другому. 25 00:01:02,840 --> 00:01:04,395 >> Затем функция разбора. 26 00:01:04,395 --> 00:01:06,270 Так что это одно немного более активное участие в том, что 27 00:01:06,270 --> 00:01:08,590 Вы должны взять, что Аргумент [неразборчиво], 28 00:01:08,590 --> 00:01:12,030 это повторный над ним, характер для характера, или строку по строке, 29 00:01:12,030 --> 00:01:14,660 для того, чтобы убедиться, что что он отвечает именно 30 00:01:14,660 --> 00:01:19,155 формальное определение, что сначала Строка запроса, в соответствии со спецификацией. 31 00:01:19,155 --> 00:01:23,930 И вы должны загрузить в абсолютной Путь, который подстрока, что представляет 32 00:01:23,930 --> 00:01:26,550 что-то вроде, слэш привет точка HTML. 33 00:01:26,550 --> 00:01:29,960 Между тем, при необходимости, после чего Путь может быть знак вопроса 34 00:01:29,960 --> 00:01:32,240 а затем строка запроса как, д равна кошек, 35 00:01:32,240 --> 00:01:35,310 или д равна кошки амперсанд, и потом еще значение ключа пара. 36 00:01:35,310 --> 00:01:38,380 Таким образом, вы будете нуждаться, чтобы перешагнуть этих символов, 37 00:01:38,380 --> 00:01:41,150 а также, до до первое пространство, с целью 38 00:01:41,150 --> 00:01:47,327 создать строку, которая хранит внутри него сама строка запроса. 39 00:01:47,327 --> 00:01:49,410 Далее, вы собираетесь реализовать функцию нагрузки. 40 00:01:49,410 --> 00:01:52,493 Так что получается, если вы смотрите через исходный код, а спецификация направляет, 41 00:01:52,493 --> 00:01:54,210 функция нагрузки используется в двух местах. 42 00:01:54,210 --> 00:01:57,420 Это либо используемый для загрузки Выход из PHP интерпретатора. 43 00:01:57,420 --> 00:01:59,700 И мы написали все код обработки PHP, 44 00:01:59,700 --> 00:02:01,840 но это нужно использовать функцию под названием 45 00:02:01,840 --> 00:02:06,350 нагрузка, что существенно читает все из байт выхода из интерпретатора РНР 46 00:02:06,350 --> 00:02:08,430 в большом массиве. 47 00:02:08,430 --> 00:02:10,850 >> Это та же функция нагрузки также используется для загрузки 48 00:02:10,850 --> 00:02:15,200 в память всех байты из файла вроде бы, Миг, или JPEG, или точка HTML 49 00:02:15,200 --> 00:02:16,630 Файл, что пользователь запросил. 50 00:02:16,630 --> 00:02:21,060 Таким образом, вы должны будете использовать некоторые приемы и инструменты из проблемы набор 4 в файле IO, 51 00:02:21,060 --> 00:02:24,410 но вы должны найти, что относительно знакомы и в хороший способ, надеюсь, 52 00:02:24,410 --> 00:02:28,110 связывать вместе новую сеть материал со старой файловой IO вещи. 53 00:02:28,110 --> 00:02:31,490 >> Наконец, в индексах Функция, все, что вам нужно сделать, 54 00:02:31,490 --> 00:02:34,570 это решить, стоит ли есть эффективно существует какой-либо файл 55 00:02:34,570 --> 00:02:40,430 называемый индекс точка HTML, или индекс точка PHP, внутри каталога, путь которого вам 56 00:02:40,430 --> 00:02:41,220 ушли в прошлое. 57 00:02:41,220 --> 00:02:44,360 Верх это означает, что, если пользователь делает запрос на каталог, 58 00:02:44,360 --> 00:02:47,318 мы не просто покажем ему или ее содержимое этого каталога, 59 00:02:47,318 --> 00:02:51,342 мы буквально показать им индекса точка HTML, или индекс точка PHP по умолчанию. 60 00:02:51,342 --> 00:02:54,300 Но это будет слева вас выяснить, используя некоторые из намеков 61 00:02:54,300 --> 00:02:56,350 в исходном коде, что мы уже дал вам, 62 00:02:56,350 --> 00:02:59,880 как вы можете на самом деле проверить ли существует определенный файл 63 00:02:59,880 --> 00:03:03,380 в текущем каталоге, так что Вы можете вернуть правильный ответ. 64 00:03:03,380 --> 00:03:05,800 >> Так, в конце есть относительно несколько байтов 65 00:03:05,800 --> 00:03:09,155 что вам нужно, чтобы вывезти из Проблема установить для реализации сервера 66 00:03:09,155 --> 00:03:10,210 неполное функциональность. 67 00:03:10,210 --> 00:03:13,180 Но, безусловно, убедитесь, что вы обернуть Ваш ум вокруг столько кода 68 00:03:13,180 --> 00:03:15,013 как вы можете, принимая комфорт в том, что вы не 69 00:03:15,013 --> 00:03:18,160 нужно понять все из низкий уровень сетевой код, все 70 00:03:18,160 --> 00:03:19,834 самой низкой файлов уровень IO кода. 71 00:03:19,834 --> 00:03:21,750 Действительно, что мы делаем С этой проблемой набора 72 00:03:21,750 --> 00:03:25,670 является синтез последних нескольких проблему наборы, представляя немного WebLogic, 73 00:03:25,670 --> 00:03:28,802 и концепции сетей, так что в конечном итоге вы 74 00:03:28,802 --> 00:03:31,760 построить что-то, что действительно очень Интересно, на самом деле довольно мощный, 75 00:03:31,760 --> 00:03:33,468 но по-прежнему с помощью же блоки, 76 00:03:33,468 --> 00:03:36,310 что мы использовали в течение некоторого времени.