54b59e3c

В таблице перечислены предопределённые свойства


В таблице перечислены предопределённые свойства объекта request. Некоторые из них соответствуют переменным окружения CGI. Вы можете получить доступ к этим и другим переменным окружения CGI через использование функции ssjs_getCGIVariable, описанной в разделе .
СвойствоОписание
Пример значения
agent Имя и версия клиентского программного обеспечения. Используйте это свойство для адресного применения расширенных возможностей некоторых браузеров. Mozilla/1.1N (Windows; I; 32bit)
auth_type Тип авторизации, если запрос защищён авторизацией какого-либо типа. Netscape web-серверы поддерживают базовую авторизацию доступа по HTTP. Соответствует переменной окружения CGI AUTH_TYPE. basic
auth_user Имя локального HTTP-пользователя web-браузера, если авторизация доступа HTTP была активирована для данного URL. Заметьте, что это не способ определения имени пользователя, получающего доступ к Вашей программе. Соответствует переменной окружения CGI REMOTE_USER. vpg
ip IP-адрес клиента. Может использоваться для авторизации или отслеживания доступа. 198.95.251.30
method HTTP-метод, ассоциированный с запросом. Приложение может использовать его для определения соответствующего ответа на запрос. Соответствует переменной окружения CGI REQUEST_METHOD.GET
protocol

Уровень протокола HTTP, поддерживаемый клиентским программным обеспечением. Соответствует переменной окружения CGI SERVER_PROTOCOL.
HTTP/1.0
query Информация из запрашивающей HTML-страницы; это информация в URL, идущая после знака "?". Соответствует переменной окружения CGI QUERY_STRING. button1=on&button2=off
imageX Горизонтальная позиция курсора, когда пользователь щёлкает на карте изображений/image map. Описано в разделе . 45
imageY Вертикальная позиция курсора, когда пользователь щёлкает на карте изображений. Описано в разделе 132
uri Частичный URL запроса: с вырезанными протоколом, именем хоста и, возможно имеющимся, номером порта. videoapp/add.html

1
Для HTTP 1.0 method имеет одно из значений: GET, POST или HEAD.


В объекте client отсутствуют значения предопределённых свойств, поскольку он предназначен для хранения специфических для приложения данных. Операторы JavaScript могут присваивать специфичные для приложения свойства и значения объекту client. Хорошим примером свойства объекта client является ID-номер потребителя. Когда пользователь в первый раз вызывает приложение, оно обязано присвоить customer ID, как в следующем примере:
client.custID = getNextCustID();
Здесь определяемая в приложении функция getNextCustID используется для вычисления customer ID. Машина выполнения затем присваивает этот ID свойству custID объекта client.
После установки customer ID может оказаться неудобным требовать от пользователя ввода ID на каждой странице приложения. Однако без использования объекта client нет иной возможности ассоциировать корректный customer ID с последующими запросами клиента.
Из-за использования такой техники для обслуживания свойств объекта client при наличии нескольких клиентских запросов имеется одно важное ограничение для значений свойств объекта client. Машина выполнения JavaScript не сервере конвертирует значения всех свойств объекта client в строки.
Не присваивайте объект в качестве значения свойства объекта client. Если Вы это сделаете, машина выполнения конвертирует этот объект в строку; после этого Вы не сможете больше работать с этим объектом. Если значение клиентского свойства представляет другой тип данных, например, number, Вы обязаны конвертировать строковое значение перед тем как его использовать. Например, Вы можете создать целочисленное свойство объекта client:
client.totalNumber = 17;
Затем Вы можете использовать parseInt для инкремента значения totalNumber:
client.totalNumber = parseInt(client.totalNumber) + 1;
Аналогично Вы можете создать Булево свойство объекта client:
client.bool = true;
А затем проверить его:
if (client.bool == "true")
write("It's true!");
else

   write("It's false!");


У объекта project нет предопределённых свойств, поскольку он предназначен для содержания специфических для приложений данных, доступных для многих клиентов. Вы можете создавать свойства любого верного типа JavaScript, включая ссылки на другие JavaScript-объекты. Если Вы храните ссылку на другой объект в объекте project, машина выполнения не уничтожает объект, на который ссылаются, по окончании клиентского запроса, в котором объект создаётся. Объект доступен и в течение последующих запросов.
Хороший пример свойства объекта project - следующий доступный ID потребителя. Приложение может использовать это свойство для отслеживания последующих присваиваемых IDs. Любому клиенту, получающему доступ к приложению и не имеющему ID потребителя, присваивается этот ID, и его значение будет увеличиваться для каждого первоначального доступа.
Помните, что объект project существует только в течение периода работы приложения на сервере. Когда приложение останавливается, объект project уничтожается вместе со всеми значениями его свойств. Поэтому, если у Вас имеются данные приложения, которые нужно сохранять постоянно, их необходимо сохранять в БД (см. ) или в файле на сервере (см. ).


В следующей таблице описаны свойства объекта server.
СвойствоОписание
Пример
hostname Полное имя хоста сервера, включая номер порта www.netscape.com:85
host Имя сервера, субдомена и домена www.netscape.com
protocol Используемый протокол соединения http:
port Используемый номер порта сервера; по умолчанию 80 для HTTP 85
jsVersion Версия сервера и платформа3.0 WindowsNT

Например, Вы можете использовать свойство jsVersion для обусловливания возможностей на базе серверной платформы (или версии), на которой приложение работает, как показано здесь:
if (server.jsVersion == "3.0 WindowsNT")
write ("Application is running on a Windows NT server.");
Помимо этих автоматически инициализируемых свойств, Вы можете создавать свойства для хранения данных, совместно используемых многими приложениями. Свойства могут иметь любой допустимый в JavaScript тип, включая ссылки на другие JavaScript-объекты. Если Вы сохраняете ссылку на другой объект в объекте server, машина выполнения не разрушает объект, на который ссылаются, по окончании запроса, в ходе которого он (объект server) был создан. Объект остаётся доступным для последующих запросов.
Как и случае с объектом project, объект server имеет ограниченный период существования. Когда web-сервер останавливается, объект server разрушается вместе со всеми значениями свойств. Поэтому, если у Вас имеются данные приложения, которые нужно сохранять постоянно, их необходимо сохранять в БД (см. ) или в файле на сервере (см. ).

Содержание раздела