Включает серверную часть

редактировать
Интерпретируемый язык сценариев на стороне сервера

Включает серверную часть (SSI ) является простой интерпретируемый язык сценариев на стороне сервера, используемый почти исключительно для World Wide Web. Это наиболее полезно для включения содержимого одного или нескольких файлов на веб-страницу на веб-сервере с помощью его директивы #include. Обычно это может быть общий фрагмент кода на всем сайте, такой как заголовок страницы, нижний колонтитул страницы и меню навигации. SSI также содержит управляющие директивы для условных функций и директивы для вызова внешних программ. Он поддерживается Apache, LiteSpeed ​​, nginx, IIS, а также Jigsaw W3C. Он имеет свои корни в NCSA HTTPd.

. Чтобы веб-сервер мог распознать файл HTML с поддержкой SSI и, следовательно, выполнить эти инструкции, либо имя файла должно заканчиваться специальным расширение, по умолчанию .shtml, .stm, .shtm, или, если сервер настроен таким образом, установите бит выполнения файла.

Содержание

  • 1 Дизайн
  • 2 Примеры
  • 3 Директивы
    • 3.1 Общие
    • 3.2 Управляющие директивы
  • 4 См. также
  • 5 Примечания
  • 6 Ссылки
  • 7 Внешние ссылки

Дизайн

Как простой язык программирования, SSI поддерживает только один тип : текст. Его поток управления довольно прост, поддерживается выбор, но циклы изначально не поддерживаются и могут быть выполнены только путем рекурсии с использованием включения или использования перенаправления HTTP. Простой дизайн языка упрощает его изучение и использование, чем большинство языков сценариев на стороне сервера, в то время как сложная обработка на стороне сервера часто выполняется с помощью одного из наиболее многофункциональных языков программирования. SSI - это полный по Тьюрингу.

SSI имеет простой синтаксис: . Директивы помещаются в комментарии HTML, поэтому, если SSI не включен, пользователи не увидят директивы SSI на странице, если они не посмотрят на его источник. Обратите внимание, что синтаксис не допускает пробелов между ведущим «<" and the directive. Apache tutorial on SSI stipulates the format requires a space character before the "-->», закрывающим элемент.

Примеры

Веб-страница, содержащая ежедневную цитату, может включать цитату, поместив следующий код в файл веб-страницы:

После одного изменения файла quote.txtна всех страницах, содержащих этот файл, будет отображаться последняя ежедневная цитата. Включение не ограничивается файлами и также может быть текстом, выводимым программой, или значением системной переменной, например, текущим временем.

Директивы

Общие

Ниже приведены директивы SSI времен NCSA HTTPd (1990-е годы). Они поддерживаются всеми реализациями.

Директивы NCSA HTTPd SSI
ДирективаПараметрыОписаниеПример
включаетфайл или виртуальныйЭто, вероятно, наиболее часто используемая директива SSI, позволяющая включать содержимое одного документа в другой. Файл или виртуальные параметры определяют файл (HTML страницу, текстовый файл, сценарий и т. Д.), Который нужно включить. Включает содержимое другого файла или результат выполнения сценария CGI. Если у процесса нет доступа для чтения файла или выполнения сценария, включение завершится ошибкой. "virtual" указывает цель относительно корня домена, а "file" указывает путь относительно каталога текущего файла. При использовании «файла» запрещено ссылаться на абсолютные пути. Каталоги более высокого уровня (..) обычно запрещены, если явно не настроены. В документации Apache рекомендуется использовать «виртуальный» вместо «файл».
execcgi или cmdЭта директива выполняет программу, сценарий или команду оболочки на сервере. Параметр cmd указывает команду на стороне сервера; параметр cgi указывает путь к сценарию CGI. PATH_INFO и QUERY_STRING текущего сценария SSI будут переданы сценарию CGI, в результате следует использовать "exec cgi" вместо "include virtual".
echovarЭта директива отображает содержимое указанной переменной среды HTTP . Переменные включают HTTP_USER_AGENT, LAST_MODIFIED и HTTP_ACCEPT.
Ваш IP-адрес: 
configtimefmt, sizefmt или errmsgЭта директива настраивает форматы отображения даты, времени, размера файла и сообщения об ошибке (возвращается, когда команда SSI не удается).
flastmodи fsizeфайл или виртуальныйЭти директивы отображают дату последнего изменения указанного документа или размер указанного документа. Файл или виртуальные параметры определяют используемый документ. Параметр file определяет документ относительно пути к документу; виртуальный параметр определяет документ относительно корня документа.

Управляющие директивы

Управляющие директивы позже добавляются в SSI. Они включают в себя повсеместное управление потоком if-elif-else-endif и запись переменных, а также более экзотические функции, такие как циклы, которые встречаются только в некоторых реализациях.

ДирективаПараметрыОписаниеПримерНайдено в
  • if
  • elif
  • else
  • endif
exprОператор if. Используется для тестов условий, которые могут определять и генерировать несколько логических страниц из одной физической страницы. elif- это сокращение от вложенного else-if. elseи endifне принимают параметры.

Синтаксис выражения зависит от реализации. Обычно поддерживаются проверки наличия переменных и проверки на равенство / регулярное выражение. Вместо этого Jigsaw использует выражения, разделенные на несколько атрибутов.

Вездесущий.
setvar, valueУстанавливает значение переменной SSI. Apache предоставляет дополнительные параметры для кодировок.
Apache, Nginx
printenvЭта директива выводит список всех переменных SSI и их значений, включая переменные среды и пользовательские переменные. У него нет атрибутов.
Apache

См. Также

Примечания

Ссылки

Внешние ссылки

Последняя правка сделана 2021-06-08 01:22:50
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте