Процесс MiniM Database Server может быть запущен с использованием
стандартного ввода-вывода, что позволяет использовать его как простой CGI
обработчик web запросов.
Для того чтобы запустить процесс MiniM в качестве обработчика CGI требуется выполнить соответствующие шаги для такой настройки:
1. Берем апач. (Apache Web Server)
2. Апачу в каталог cgi-bin кладем файл hello.m с таким содержанием:
5. Запускаем с передачей параметров http://localhost/cgi-bin/hello.m?param=123
Теперь пояснения по проделанным шагам:
1) Вместо ожидаемого
2) e:\workfiles\minim\bin\minim указывает что запускаем процесс MiniM. Здесь нужно указать реальное размещение исполняемого файла.
3) -std указывает процессу использовать стандартный ввод-вывод
4) -h указывает что после отработки команд завершить процесс
5) -x указывает выполнить следующий параметр
6) \"user\" указывает передать двойные кавычки в теле параметра
7) d ^WEB указывает выполнить рутину ^WEB
8) Вместо переносов как ! стоит вывод символа $c(10) явно. В местах кроме терминаторов http ответа можно использовать иwrite ! .
9) $v("proc",9,paramname) получает параметры окружения, которые создает веб-сервер для запускаемого cgi-процесса.
10) Для преобразований текста и значений параметров есть функция $zcvt.
11) Ключ -ignore указывает игнорировать этот ключ и автоматически добавляемые веб-сервером другие параметры.
Приведенный способ вызова с одной стороны краткий и позволяет точно формировать весь ответ вебсерверу, с другой стороны механизм CGI не ограничен в количестве процессов и может сложиться ситуация что одновременно требуется обработать больше запросов чем позволяет ограничение сервера. В этом случае можно рекомендовать использовать MiniM Web Access.
Для того чтобы запустить процесс MiniM в качестве обработчика CGI требуется выполнить соответствующие шаги для такой настройки:
1. Берем апач. (Apache Web Server)
2. Апачу в каталог cgi-bin кладем файл hello.m с таким содержанием:
#! e:\workfiles\minim\bin\minim -std -h -x "zn \"user\" d ^WEB" -ignore3. Делаем рутину ^WEB с таким содержанием:
WEB w "Content-Type: text/html",$c(10,10) w "<html>",$c(10) w "<head><title>Web Response from MiniM</title></head>",$c(10) w "<body>",$c(10) w "<h3>Web Response from MiniM</h3>",$c(10) w "<p>",$zv,$c(10) w "<p>",$v("proc",9,"SERVER_SOFTWARE"),$c(10) w "<p>Query parameters are:",$c(10) w "<p>",$v("proc",9,"QUERY_STRING"),$c(10) w "</body>",$c(10) w "</html>",$c(10) q4. Запускаем браузер по адресу http://localhost/cgi-bin/hello.m
5. Запускаем с передачей параметров http://localhost/cgi-bin/hello.m?param=123
Теперь пояснения по проделанным шагам:
1) Вместо ожидаемого
w "Content-Type: text/html",!!пишем
w "Content-Type: text/html",$c(10,10)потому, что апач ждет именно эти байты как терминатор строк заголовка
2) e:\workfiles\minim\bin\minim указывает что запускаем процесс MiniM. Здесь нужно указать реальное размещение исполняемого файла.
3) -std указывает процессу использовать стандартный ввод-вывод
4) -h указывает что после отработки команд завершить процесс
5) -x указывает выполнить следующий параметр
6) \"user\" указывает передать двойные кавычки в теле параметра
7) d ^WEB указывает выполнить рутину ^WEB
8) Вместо переносов как ! стоит вывод символа $c(10) явно. В местах кроме терминаторов http ответа можно использовать и
9) $v("proc",9,paramname) получает параметры окружения, которые создает веб-сервер для запускаемого cgi-процесса.
10) Для преобразований текста и значений параметров есть функция $zcvt.
11) Ключ -ignore указывает игнорировать этот ключ и автоматически добавляемые веб-сервером другие параметры.
Приведенный способ вызова с одной стороны краткий и позволяет точно формировать весь ответ вебсерверу, с другой стороны механизм CGI не ограничен в количестве процессов и может сложиться ситуация что одновременно требуется обработать больше запросов чем позволяет ограничение сервера. В этом случае можно рекомендовать использовать MiniM Web Access.
Комментариев нет:
Отправить комментарий