>> СПИКЕР 1: Ладно, так, что это вы конкретно нужно сделать?
Ну, оказывается, есть всего четыре функции
что вам нужно, чтобы реализовать Функциональность которого является
неотъемлемой надлежащее Работа веб-сервера,
но которого все поведение очень узко
определяется, таким образом, что они только сделать довольно много одну вещь.
Первое, что вы собираетесь нужно сделать это реализовать,
в соответствии со спецификацией, Функция просмотра.
Это довольно простая функция в конец, который принимает в качестве аргумента
независимо от пути к файлу что пользователь хочет, чтобы запросить,
и вы должны отвечать с так называемый тип MIME, или Content-Type,
из этого файла.
Например, если это файл, как, привет точка
HTML вы собираетесь реагировать на MIME с тип цитатой конец цитаты текст слэш HTML.
>> Или, если это изображение, вы можете ответить изображения точка слэш
Миг или изображение JPEG слэш.
Смотрите спецификации для различных форматы файлов необходимо обнаружить.
Но это действительно сводится к принимая посмотреть на пути, что вы прошлое,
и, глядя на его файле расширение, последние несколько символов
после периода задней или точкой.
Таким образом, мы оставим его для вас с некоторыми из намеков в описании
чтобы выяснить, как именно, чтобы найти что точка и расширение файла
так что вы можете сделать отображение одного к другому.
>> Затем функция разбора.
Так что это одно немного более активное участие в том, что
Вы должны взять, что Аргумент [неразборчиво],
это повторный над ним, характер для характера, или строку по строке,
для того, чтобы убедиться, что что он отвечает именно
формальное определение, что сначала Строка запроса, в соответствии со спецификацией.
И вы должны загрузить в абсолютной Путь, который подстрока, что представляет
что-то вроде, слэш привет точка HTML.
Между тем, при необходимости, после чего Путь может быть знак вопроса
а затем строка запроса как, д равна кошек,
или д равна кошки амперсанд, и потом еще значение ключа пара.
Таким образом, вы будете нуждаться, чтобы перешагнуть этих символов,
а также, до до первое пространство, с целью
создать строку, которая хранит внутри него сама строка запроса.
Далее, вы собираетесь реализовать функцию нагрузки.
Так что получается, если вы смотрите через исходный код, а спецификация направляет,
функция нагрузки используется в двух местах.
Это либо используемый для загрузки Выход из PHP интерпретатора.
И мы написали все код обработки PHP,
но это нужно использовать функцию под названием
нагрузка, что существенно читает все из байт выхода из интерпретатора РНР
в большом массиве.
>> Это та же функция нагрузки также используется для загрузки
в память всех байты из файла вроде бы, Миг, или JPEG, или точка HTML
Файл, что пользователь запросил.
Таким образом, вы должны будете использовать некоторые приемы и инструменты из проблемы набор 4 в файле IO,
но вы должны найти, что относительно знакомы и в хороший способ, надеюсь,
связывать вместе новую сеть материал со старой файловой IO вещи.
>> Наконец, в индексах Функция, все, что вам нужно сделать,
это решить, стоит ли есть эффективно существует какой-либо файл
называемый индекс точка HTML, или индекс точка PHP, внутри каталога, путь которого вам
ушли в прошлое.
Верх это означает, что, если пользователь делает запрос на каталог,
мы не просто покажем ему или ее содержимое этого каталога,
мы буквально показать им индекса точка HTML, или индекс точка PHP по умолчанию.
Но это будет слева вас выяснить, используя некоторые из намеков
в исходном коде, что мы уже дал вам,
как вы можете на самом деле проверить ли существует определенный файл
в текущем каталоге, так что Вы можете вернуть правильный ответ.
>> Так, в конце есть относительно несколько байтов
что вам нужно, чтобы вывезти из Проблема установить для реализации сервера
неполное функциональность.
Но, безусловно, убедитесь, что вы обернуть Ваш ум вокруг столько кода
как вы можете, принимая комфорт в том, что вы не
нужно понять все из низкий уровень сетевой код, все
самой низкой файлов уровень IO кода.
Действительно, что мы делаем С этой проблемой набора
является синтез последних нескольких проблему наборы, представляя немного WebLogic,
и концепции сетей, так что в конечном итоге вы
построить что-то, что действительно очень Интересно, на самом деле довольно мощный,
но по-прежнему с помощью же блоки,
что мы использовали в течение некоторого времени.