1 00:00:00,000 --> 00:00:00,200 2 00:00:00,200 --> 00:00:02,280 >> Głośnik 1: Dobra, więc co to ty konkretnie trzeba zrobić? 3 00:00:02,280 --> 00:00:04,140 Cóż, okazuje się, istnieje zaledwie cztery funkcje 4 00:00:04,140 --> 00:00:06,390 które należy wdrożyć których funkcjonalność jest 5 00:00:06,390 --> 00:00:08,520 Integralną częścią prawidłowego Działanie serwera WWW, 6 00:00:08,520 --> 00:00:10,720 ale którego wszystkie zachowanie jest bardzo wąsko 7 00:00:10,720 --> 00:00:13,104 zdefiniowane tak, że tylko zrobić prawie jedną rzecz. 8 00:00:13,104 --> 00:00:15,270 Pierwszą rzeczą, którą zamierzamy do musisz zrobić, to wdrożenie, 9 00:00:15,270 --> 00:00:17,540 wg specyfikacji, funkcja wyszukiwania. 10 00:00:17,540 --> 00:00:20,900 Jest to dość prosta funkcja w koniec, że jako argument 11 00:00:20,900 --> 00:00:24,690 co ścieżka do pliku że użytkownik chce zażądać, 12 00:00:24,690 --> 00:00:28,310 i trzeba reagować z tak zwany typ MIME lub Content-type, 13 00:00:28,310 --> 00:00:29,200 tego pliku. 14 00:00:29,200 --> 00:00:31,415 Na przykład, jeśli jest to jak plik hello kropka 15 00:00:31,415 --> 00:00:37,470 HTML masz zamiar odpowiedzieć z MIME rodzaj cytatu slash tekst HTML. 16 00:00:37,470 --> 00:00:40,920 >> Albo czy jest to obraz, możesz odpowiedzi z obrazu dot kreską 17 00:00:40,920 --> 00:00:42,990 Momencik lub obraz slash JPEG. 18 00:00:42,990 --> 00:00:46,280 Zobacz specyfikację dla różnych formaty plików należy do wykrycia. 19 00:00:46,280 --> 00:00:49,760 Ale tak naprawdę sprowadza się do robienia patrzeć na drogę, że jesteś obok, 20 00:00:49,760 --> 00:00:52,870 i patrząc na jego pliku Rozszerzenie, w ostatnich kilku znaków 21 00:00:52,870 --> 00:00:54,297 po okresie spływu lub kropką. 22 00:00:54,297 --> 00:00:57,130 Będziemy więc pozostawić je do Ciebie z niektórymi z podpowiedzi w specyfikacji 23 00:00:57,130 --> 00:01:00,170 dowiedzieć się dokładnie, jak znaleźć że kropka i rozszerzenie pliku 24 00:01:00,170 --> 00:01:02,840 tak, że można zrobić to mapowanie jeden do drugiego. 25 00:01:02,840 --> 00:01:04,395 >> Następna w kolejce jest funkcja parse. 26 00:01:04,395 --> 00:01:06,270 Tak więc ten jeden jest trochę bardziej zaangażowane w tym 27 00:01:06,270 --> 00:01:08,590 trzeba wziąć w tym Argument [niesłyszalne], 28 00:01:08,590 --> 00:01:12,030 to powtórzyć nad nim, charakter w charakterze, lub ciąg sznurkiem, 29 00:01:12,030 --> 00:01:14,660 W celu upewnienia się, że spełnia dokładnie 30 00:01:14,660 --> 00:01:19,155 formalna definicja, że ​​pierwsza Żądanie linii, zgodnie ze specyfikacją. 31 00:01:19,155 --> 00:01:23,930 I trzeba załadować do absolutnego Ścieżka, że ​​podciąg, który reprezentuje 32 00:01:23,930 --> 00:01:26,550 coś, slash powitania dot HTML. 33 00:01:26,550 --> 00:01:29,960 Tymczasem, ewentualnie, po czym Ścieżka może być znak zapytania 34 00:01:29,960 --> 00:01:32,240 a następnie ciąg kwerendy jak, q wynosi kotów, 35 00:01:32,240 --> 00:01:35,310 lub q równa koty Ampersand i potem jeszcze parę klucz wartość. 36 00:01:35,310 --> 00:01:38,380 Więc będziesz musiał krok na tych znaków, 37 00:01:38,380 --> 00:01:41,150 jak dobrze, aż do momentu Pierwsza przestrzeń, w celu 38 00:01:41,150 --> 00:01:47,327 aby utworzyć ciąg, który przechowuje wewnątrz niego sam ciąg kwerendy. 39 00:01:47,327 --> 00:01:49,410 Następnie będziesz realizacji funkcji obciążenia. 40 00:01:49,410 --> 00:01:52,493 Tak więc okazuje się, jeśli spojrzeć przez kod źródłowy, jako spec kieruje, 41 00:01:52,493 --> 00:01:54,210 funkcją obciążenia jest stosowany w dwóch miejscach. 42 00:01:54,210 --> 00:01:57,420 To albo ładujący Wyjście z interpretera PHP. 43 00:01:57,420 --> 00:01:59,700 I pisaliśmy wszystko kod obsługi PHP, 44 00:01:59,700 --> 00:02:01,840 ale nie musi używać funkcji o nazwie 45 00:02:01,840 --> 00:02:06,350 obciążenia, które zasadniczo czyta wszystkie z bajty wyjścia z interpretera PHP 46 00:02:06,350 --> 00:02:08,430 do wielkiej tablicy. 47 00:02:08,430 --> 00:02:10,850 >> To samo obciążenie funkcji służy również do ładowania 48 00:02:10,850 --> 00:02:15,200 w pamięci wszystkich bajtów z pliku podobnych, Momencik, lub JPEG lub kropka HTML 49 00:02:15,200 --> 00:02:16,630 Plik, że użytkownik zażądał. 50 00:02:16,630 --> 00:02:21,060 Więc trzeba będzie korzystać z niektórych trików i narzędzi z problemem zestaw 4 w pliku IO, 51 00:02:21,060 --> 00:02:24,410 ale należy zauważyć, że stosunkowo znane i w miły sposób, mam nadzieję, 52 00:02:24,410 --> 00:02:28,110 związania razem nowszą internecie rzeczy ze starszym plików IO rzeczy. 53 00:02:28,110 --> 00:02:31,490 >> Na koniec, w indeksach Funkcja, wszystko co musisz zrobić, 54 00:02:31,490 --> 00:02:34,570 jest, aby zdecydować, czy istnieje skutecznie istnieje jakiś plik 55 00:02:34,570 --> 00:02:40,430 zwany wskaźnik dot HTML, PHP lub indeksu kropka, wewnątrz katalogu, którego ścieżka was 56 00:02:40,430 --> 00:02:41,220 to przeszłość. 57 00:02:41,220 --> 00:02:44,360 Zaletą tego oznacza, że ​​jeżeli użytkownik nie poprosić o katalog, 58 00:02:44,360 --> 00:02:47,318 nie jesteśmy po prostu zamiar pokazać go lub jej zawartość tego katalogu, 59 00:02:47,318 --> 00:02:51,342 my dosłownie pokazać im indeksu kropkę HTML, PHP lub indeksu kropka, domyślnie. 60 00:02:51,342 --> 00:02:54,300 Ale to będzie należeć do ciebie dowiedzieć się, za pomocą niektórych podpowiedzi 61 00:02:54,300 --> 00:02:56,350 w kodzie źródłowym, które my już wam, 62 00:02:56,350 --> 00:02:59,880 jak rzeczywiście można sprawdzić czy dany plik istnieje 63 00:02:59,880 --> 00:03:03,380 w bieżącym katalogu, tak aby można przywrócić prawidłową odpowiedź. 64 00:03:03,380 --> 00:03:05,800 >> W końcu, więc nie stosunkowo niewiele bajtów 65 00:03:05,800 --> 00:03:09,155 że trzeba wyjąć z Problem ustawić do wdrożenia serwera 66 00:03:09,155 --> 00:03:10,210 niepełna funkcjonalność. 67 00:03:10,210 --> 00:03:13,180 Ale na pewno upewnij się owinąć twój umysł wokół tyle kodu 68 00:03:13,180 --> 00:03:15,013 jak to możliwe, biorąc komfort w to, że nie 69 00:03:15,013 --> 00:03:18,160 muszą zrozumieć wszystkie z Najniższy poziom kodu sieci, wszystkie 70 00:03:18,160 --> 00:03:19,834 najniższego poziomu kodu plików IO. 71 00:03:19,834 --> 00:03:21,750 Naprawdę, co robimy z tego zestawu problemów 72 00:03:21,750 --> 00:03:25,670 syntetyzuje ostatnich kilku problemu zestawy, wprowadzając trochę WebLogic, 73 00:03:25,670 --> 00:03:28,802 i koncepcji sieciowych, tak że ostatecznie można 74 00:03:28,802 --> 00:03:31,760 zbudować coś, co jest naprawdę bardzo ciekawe, naprawdę bardzo silny, 75 00:03:31,760 --> 00:03:33,468 ale przy użyciu same klocki, 76 00:03:33,468 --> 00:03:36,310 które używaliśmy przez jakiś czas.