Home | О проекте | Новости | Рекламные статейки

Доступ к Переменным CGI

Как и большинство других web-серверов, серверы Netscape устанавливают значения для определённого набора переменных окружения, называемых CGI-переменными, при установке контекста для запуска CGI-скрипта. Предполагается, что создатели CGI-скриптов могут использовать эти переменные в своих скриптах.

1.Рекламка: s |

По контрасту, Netscape web-серверы не устанавливают отдельного окружения для приложений серверного JavaScript. Тем не менее, некоторая часть информации, обычно устанавливаемой в CGI-переменных, может использоваться в приложениях JavaScript. Машина выполнения предоставляет несколько механизмов для доступа к этой информации:

  • Через доступ к свойствам предопределённого объекта request
  • Через использование функции ssjs_getCGIVariable для доступа к некоторым CGI-переменным и другим переменным окружения
  • Через использование метода httpHeader объекта request для доступа к свойствам шапки клиентского запроса
2.Рекламка: s | ;
x |   

В следующей таблице перечислены свойства объекта request, соответствующие CGI-переменным.

CGI-переменная Свойство Описание
AUTH_TYPE auth_type

Тип авторизации, если запрос защищён авторизацией любого типа. Netscape web-серверы поддерживают базовую авторизацию доступа HTTP.

Пример значения: basic

REMOTE_USER :auth_user

Имя локального HTTP-пользователь web-браузера, если авторизации доступа HTTP была активирована для данного URL. Заметьте, что это не способ определения имени пользователя, получившего доступ к Вашей программе.

Пример значения: ksmith

REQUEST_METHOD method

HTTP-метод, ассоциированный с запросом. Приложение может использовать его для определения соответствующего ответа на запрос.

Пример значения: GET

SERVER_PROTOCOL protocol

Уровень протокола HTTP, поддерживаемый клиентским программным обеспечением.

Пример значения: HTTP/1.0

QUERY_STRING query Информация запрашивающей HTML-страницы; если имеется "?", информация в URL, идущая после знака "?". Пример значения: x=42

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

Переменная Описание
AUTH_TYPE

Тип авторизации, если запрос защищён авторизацией любого типа. Netscape web-серверы поддерживают базовую авторизацию доступа HTTP.

Пример значения: basic

HTTPS

Если на сервере активна служба безопасности/security, значение этой переменной ON; иначе - OFF.

Пример значения: ON

HTTPS_KEYSIZE

Количество битов в ключе сессии, используемом для шифрования сессии, если безопасность on.

Пример значения: 128

HTTPS_SECRETKEYSIZE

Количество битов, используемых для генерации private-ключа сервера.

Пример значения: 128

PATH_INFO

Информация пути, установленная браузером.

Пример: /cgivars/cgivars.html

PATH_TRANSLATED

Фактическое системное pathname/имя пути , содержащегося в PATH_INFO.

Пример: /usr/ns-home/myhttpd/js/samples/cgivars/cgivars.html

QUERY_STRING

Информация запрашивающей HTML-страницы; если имеется "?", информация в URL, идущая после знака "?".

Пример значения: x=42

REMOTE_ADDR

IP-адрес хоста, отправившего запрос.

Пример: 198.93.95.47

REMOTE_HOST

Если DNS на сервере включена, имя хоста, отправившего запрос; иначе - его IP-адрес.

Пример: www.netscape.com

REMOTE_USER

Имя локального HTTP-пользователя web-браузера, если авторизация доступа HTTP была активирована данным URL. Заметьте, что это не способ определения user name того, кто выполнил доступ к Вашей программе.

Пример: ksmith

REQUEST_METHOD

HTTP-метод, ассоциированный с запросом. Приложение может использовать его для определения ответа на запрос.

Пример: GET

SCRIPT_NAME

pathname к данной странице, как он введён в URL.

Пример: cgivars.html

SERVER_NAME

hostname или IP-адрес, по которому приложение JavaScript запущено, как они даны в URL.

Пример: piccolo.mcom.com

SERVER_PORT

TCP-порт, по которому запущен сервер.

Пример: 2020

SERVER_PROTOCOL

Уровень протокола HTTP, поддерживаемый клиентским программным обеспечением.

Пример: HTTP/1.0

SERVER_URL

URL, введённый пользователем для доступа к данному серверу.

Пример: https://piccolo:2020

Здесь приведён синтаксис ssjs_getCGIVariable:

value = ssjs_getCGIVariable("name");

Этот оператор устанавливает в переменную value значение CGI-переменной name. Если предоставленный вами аргумент не является одной из CGI-переменных, перечисленных в таблице, машина выполнения ищет переменную окружения с этим именем в среде сервера. Если она найдена, машина выполнения возвращает значение; иначе, возвращает null. Например, следующий код присваивает значение стандартной переменной окружения CLASSPATH переменной JavaScript classpath:

classpath = ssjs_getCGIVariable("CLASSPATH");

Метод httpHeader объекта request возвращает шапку/header текущего клиентского запроса. Для CGI-скрипта Netscape web-серверы устанавливают CGI-переменные для некоторой информации в шапке. Для приложений JavaScript Вы получаете эту информацию непосредственно из шапки. Следующая таблица показывает информацию, доступную как переменные CGI в среде CGI, но как свойства шапки - в серверном JavaScript. В свойствах шапки символы подчёркивания в имени CGI-переменной (_) заменяются на тире (-); например, CGI-переменная CONTENT_LENGTH соответствует свойству шапки content-length.

CGI-переменная Описание
CONTENT_LENGTH Количество байтов, отправленных клиентом.
CONTENT_TYPE Тип данных, отправленных клиентом, если форма отправлена методом POST.
HTTP_ACCEPT Перечисляет типы данных, которые может принимать клиент.
HTTP_USER_AGENT Идентифицирует браузер, используемый для доступа к Вашей программе.
HTTP_IF_MODIFIED_SINCE Дата, установленная в соответствии со стандартным временем GMT (по Гринвичу), дающая возможность отправлять клиенту ответ на запрос только тогда, когда дата была изменена после данной даты.

В следующей таблице даны CGI-переменные, не поддерживаемые серверным JavaScript, которые не могут быть применены при запуске приложений JavaScript.

Переменная Описание
GATEWAY_INTERFACE Версия CGI, запущенная на сервере. Не применяется к приложениям JavaScript.
SERVER_SOFTWARE Тип запущенного сервера. Недоступна для приложений JavaScript.

footer:
Rambler's Top100