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 що ми використовували протягом деякого часу.