Главная страница
Навигация по странице:

  • Файл ssidemo.shtml Тестируем SSI 1 Пример задачи автОматизации: дОСка ОбъявЛений шкОЛьнОгО Сайта

  • Файл index.shtml

  • Адрес

  • Основы web-программирования. Лекции 14 Сергей Львович Островский


    Скачать 1.82 Mb.
    НазваниеЛекции 14 Сергей Львович Островский
    Дата21.01.2019
    Размер1.82 Mb.
    Формат файлаpdf
    Имя файлаОсновы web-программирования.pdf
    ТипЛекции
    #64661
    страница5 из 11
    1   2   3   4   5   6   7   8   9   10   11


    1
    Лекция 2
    Back in SSI
    “Many, many years ago…” С этих слов начинается бесчисленное количество английских сказок и исторических произведений. С них же мы начнем краткий рассказ об одной из самых “древних” технологий, имеющей отно- шение к web-программированию, — технологии SSI. Это сокращение от Server Side Includes — включения на стороне сервера.
    Ключевая идея SSI вам фактически уже знакома, если при изучении предыдущей лекции вы поняли ключевую идею PHP. Заключается она в следующем: HTML-файл может содержать некоторые фрагменты (директивы), кото- рые обрабатываются на стороне сервера, а браузеру отправляется результат их обработки. Все точно так же, как и с
    PHP, только для обработки директив SSI ничего дополнительного (как для PHP — интерпретатор PHP) не требуется, всю работу выполняет сам web-сервер (напомню, в нашем случае — Apache).
    В принципе web-сервер можно настроить таким образом, чтобы он искал и при необходимости обрабатывал ди- рективы SSI в любом HTML-файле. Но так делают крайне редко, поскольку это сильно замедляет работу. Типичный вариант, который в настройках Denwer установлен “по умолчанию”, заключается в том, что директивы SSI обрабаты- ваются в файлах с расширением shtml.
    Итак, давайте поставим эксперимент. Прежде всего в каталоге home (помните, о чем речь? Мы много эксперимен- тировали с этим в первой лекции) создайте каталог myschool. Это будет основной каталог для примеров этого занятия.
    В нем создайте каталог www, а в нем — ssi. Запустите Denwer.
    Теперь поместите в каталог ssi два файла:
    Файл ssidemo.shtml


    Тестируем SSI



    1
    Пример задачи автОматизации: дОСка ОбъявЛений шкОЛьнОгО Сайта
    Мы легко можем смоделировать соответствующую ситуацию, изменив расширение файла с shtml на htm. (Напом- ню, что директивы SSI интерпретируются только в файлах с расширением shtml — так настроен Denwer.) Результат эксперимента с переименованием показан на рис. 2.
    Рис. 2. Web-сервер не обработал директиву и вернул ее браузеру AS IS. А тот воспринял ее просто, как комментарий
    Как можно использовать технологию SSI на пользу дела? Фактически мы это уже продемонстриро- вали. Даже в эпоху расцвета SSI самой используемой директивой была include
    , а типичным ее приме- нением — создание “каркасов” (шаблонов) сайтов. Рассмотрим, например, типичный макет школьного сайта (внимание! Наполнение этого макета — это, конечно, шутка, — мне просто требовалось как-то наполнить шаблон текстом).
    Рис. 3. Макет “школьного” сайта

    20
    Лекция 2
    На макете, показанном на рис. 3, легко выделить ряд независимых содержательных блоков. Например, к таковым можно уверенно отнести левое навигационное меню, центральный блок (в него я поместил замечательную притчу
    Э.Дийкстры о первом программисте. Если кто не читал — очень рекомендую, я для этого специально привел текст файла welcome.htm), блок объявлений и все остальное. Остальное — это каркас, включающий три эти блока.
    Понятно, что все блоки можно разместить и в одном html-файле. Но это не слишком удобно. Почему? Посмотрим на те же объявления. Если сайт “живой”, их приходится добавлять часто. А это значит, что каждый раз надо “залезать” внутрь довольно большого файла, искать в нем место под очередное объявление и аккуратно его туда вставлять. Учитывая, что основной каркас страницы представляет собой таблицу, а блок объявлений — отдельная таблица (как и навигационное меню), запутаться в трех (или более) “соснах” (таблицах) не так сложно. Вот тут и приходит на помощь SSI. Куда как проще разместить блоки, составляющие эту страницу, в отдельных файлах и собрать их вместе посредством директивы include
    Я реализовал это следующим образом. Страница, показанная на рис. 3, состоит из четырех файлов: index.shtml
    (основной каркас), lmenu.htm (левое навигационное меню), welcome.htm (центральный блок) и notices.htm (блок объ- явлений). Наверное, это избыточно, но я все же не пожалею места и приведу здесь содержимое всех четырех файлов
    (можно было бы, конечно, ограничиться только файлом index.shtml, но я хорошо знаю, как иногда раздражают слова
    “легко видеть”, когда ты только начинаешь и тебе совсем даже не легко).
    Файл index.shtml








    >
    width="180" height="100" border="0"
    > td>

    Средняя школа № 1123581321 имени Л. Фибоначчи


    Адрес: 121165, г. Пиза, ул. Короля Фридриха II, д. 24.
    Тел.: 03. Факс: 02. E-mail:
    leonardo@nikogo.net


    Последний раз этот документ был изменен
    Знаете ли вы, каким браузером пользуетесь? А я знаю:

    hspace="5" cellpadding="5">




    Объявления администрации

    1   2   3   4   5   6   7   8   9   10   11


    написать администратору сайта