Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 11656
Последний выпуск: 19.06.2015

Описание объекта Response

Описание объекта Response

Описываемый объект является очень полезным и мощным инструментом. Данный объект имеет несколько методов, их описание приводится ниже:

Коллекции:

Методы:

Свойства:


Коллекция Response.Cookies

Коллекция Cookies устанавливает значения для cookies. Если указанные cookies не существуют, то создает их. Если cookie существует, то принимает новое значение, а старое уничтожается.

Синтакс:

Response.Cookies( cookie ) [( ключ ) | . аттрибуты ] = значение

Параметры:

  • cookie - Имя cookie
  • ключ - Необязательный параметр. Если он указан, то cookie - это справочник (вложенный) и ключ - это множество значений.
  • аттрибуты - Указанная информация о самих cookie. Данный параметр может быть один из следующих:
  • значение - Указывает значение, которое необходимо присвоить данному ключу или атрибуту.
НазваниеОписание
DomainТолько запись. Если указан, то cookie передаются только по запросу из этого домена.
ExpiresТолько запись. Дата, когда у cookie истекает срок действия. Эта дата должна быть установлена для того, чтобы cookie записались на клиентский жесткий диск после окончания сессии. Если этот атрибут не установлен, то дата окончания срока действия cookie принимается текущей датой. Cookie прекратят срок действия сразу же по окончании сессии.
HasKeyТолько чтение. Указывает на то, содержит ли cookie данный ключ.
PathТолько запись. Если указан, то cookie передаются только по запросу с этого пути. Если параметр не установлен, то используется путь к приложению.
SecureТолько запись. Указывает на то, защищены ли будут cookie или нет.

Замечание:

Если cookie с ключем созданы так, как показано в следующем скрипте,

<%
Response.Cookies("mycookie")("type1") = "сахар"
Response.Cookies("mycookie")("type2") = "печенье"
%>

то следующий заголовок будет послан:

Set-Cookie:MYCOOKIE=TYPE1=сахар&TYPE2=печенье

Если же присвоить mycookie значение без использования ключей, то это действие разрушит type1 и type2 - ключи. К примеру: <% Response.Cookies("myCookie") = "шоколадный зефир" %>

В предыдущем примере ключи type1 и type2 будут разрушены и их значения потерены. Mycookie будет теперь содержать в себе значение шоколадный зефир.

Вы также можете проверить существование конкретного ключа следующим способом:

<% = Response.Cookies("myCookie").HasKeys %>

Если будет выведено TRUE, значить такой ключ существует, в случае FALSE - нет.


Метод Response.Write

Синтакс:

Response.Write переменная_или_значение

Параметры:

  • переменная_или_значение - Данные для вывода на экран браузера через HTML. Этот параметр может быть любого типа, поддерживаемого VisualBasic Scripting Edition. То есть данные могут быть типов: дата, строка, символ, числовые значения. Значение данного параметра не может содержать комбинации %>. Вместо нее можно использовать равнозначную комбинацию %\>. Web-сервер будет преобразовывать эту последовательность в требуемую, когда скрипт будет выполнен.

Примеры:

Следующий пример показывает как работает метод Response.write для вывода сообщения клиенту.

Я просто скажу вам: <%Response.write "Привет всем!!!"%>
А ваше имя <%Response.write(Request.Form("name"))%>

Следующий пример добавляет HTML-таг на web-страничку. Так как данный метод не может содержать комбинацию %>, то мы используем последовательность %\>. Итак пример скрипта:

<% Response.write "<TABLE WIDTH=100%\>" %>

Результатом вывода будет строка: <TABLE WIDTH=100%>

Метод Response.Redirect

Синтакс:

Response.Redirect URL (URL - универсальный описатель ресурсов)

Параметры:

  • URL - Параметр является универсальным описателем ресурса. Он показывает , када необходимо переадресовать браузер.

Замечание:

Любое вхождение данного метода между тагами <BODY> и </BODY> web-страницы будет проигнорирован. Данный метод может использоваться только в заголовке HTML-страницы. Данный метод передаст заголовок (header) браузеру, если пропущен параметр URL данного объекта в следующем виде:

HTTP/1.0 302 Object Moved
Location URL

Метод Response.End

Синтакс:

Response.End 

Замечание:

Если свойство Response.Buffer был установлен в TRUE (истина), то вызывая метод Response.End будет производить очистку буфера, выталкивая данные из него клиенту. Если вы не хотите выводить данные пользователю, вы должны вызвать следующий метод:

<%
Response.Clear
Response.End
%>

Метод Response.AddHeader

Метод AddHeader добавляет HTML-заголовок с определенными значениями. Этот метод всегда добавляет новый заголовок к ответу клиентскому браузеру. Данный метод не заменяет существующий заголовок новым. Добавленный заголовок не может быть удален.

Данный метод применяется только для "продвинутых" задач.

Синтакс:

Response.AddHeader имя_переменной, значение

Параметры:

  • имя_переменной - Название нового параметры HTML-заголовка.
  • значение - Устанавливаемое значение, которое будет запомнено в заголовке.

Замечания:

Для корректной работы метода, имя_переменной не должно содержать символа подчеркивания ( _ ). Набор ServerVariables интерпретирует символ подчеркивания как тире в заголовке. Для примера следующий скрипт принуждает сервер найти параметр из HTML-заголовака, называющийся MY-HEADER.

<% Requset.ServerVariables("HTTP_MY_HEADER") %>

Так как HTTP протокол требует, чтобы все параметры заголовка были переданы до начала тела HTML-страницы, то вы должны вызывать метод AddHeader в вашем скрипте до того, как начнется описание <Body>...</Body>. Имеется одно исключение. Если значение свойства Buffer установлено в истину (true), тогда вы можете писать AddHeader в любой точке скрипта, но до первого вызова метода Flush. В противном случае вызод метода AddHeader вызовет ошибку.

Пример:

Следующие два .ASP-файла демонстрируют последнее замечание.

<% Response.AddHeader "Внимание!", "Текст сообщения об ошибке"%>
<HTML>
ваш текст на страничке
</HTML>

В данном примере страница не буферируется. Скрипт работает однако AddHeader вызывается перед тем, как сервер будет производить вывод в HTML клиенту.

<% Response.Buffer = true %>
<HTML>
здесь идет некоторая информация вашей странички...
<%Response.AddHeader "Внимание!", "сообщение об ошибке"%>
<%Response.Flush%>
<%Response.Write("некий текст")%>
<HTML>

Во втором примере страница буферируется и как ресультат сервер не выдает текст клиенту до тех пор, пока не кончится сам скрипт или пока не встретится метод Flush. Вы можете использовать данный метод для того, чтобы отослать несколько копий некоторого параметра заголовка с различными значениями, как с заголовком WWW-Authenticate.

Метод Response.AppendToLog

Метод AppendToLog добавляет строку в конец файла отчета (log-file) web-сервера. Вы можете вызывать этот метод столько раз, сколько вам необходимо. Каждый раз при вызове метода в файл отчета сервера будет записана указанная вами строка.

Синтакс:

Response.AppendToLog значение

Параметры:

  • значение - Текст, который будет добавлен к фалу отчета web-сервера. Данная строка не может содержать символ запятой (,). Причем общая длина добавляемой строки не должна превышать 80 символов.

Замечания:

Для использования данной возможности вам необходимо, чтобы опция URI Query была разрешена на панели "расширенных свойств ведения log-файла" для данного web-сервера в IIS.

Метод Response.BinaryWrite

Метод BinaryWrite позволяет записывать указанную информацию в текущий HTTP-вывод без какого-либо преобразования символов. Этот метод удобен для вывода нестроковой информации, такой как двоичные данные, требуемые каким-либо приложением.

Синтакс:

Response.BinaryWrite данные

Параметры:

  • данные - Данные, предназначенные для HTTP-вывода.

Пример:

Если у вас есть объект, порождающий байтовый массив, вы можете использовать следующий вызов данного метода для передачи этого массива какому-либо приложению, запущенному на клиентской машине.

<% Set BinGen = Server.CreateObject(My.BinaryGenerator)
Pict = BinGen.MakePicture
Response.BinaryWrite Pict
%>

Метод Response.Clear

Метод Clear стирает всю забуферированный HTML-вывод. Однако данный метод не стирает информаицю из буфера, связанную с заголовком. Вы можете использовать данный метод для управления ошибками. Однако выполнение данного метода будет приводить к ошибке если свойство Response.Buffer не истина (true).

Синтакс:

Response.Clear

Метод Response.Flush

Метод Flush передает буферированный вывод незамедлительно. Этот метод приведет к ошибке если свойство Response.Buffer не установлено в истину (true).

Синтакс:

Response.Flush

Замечание:

Если Flush-метод вызывается ASP страницой, то сервер не учитывает запросы "Keep-Alive" к этой странице.


Свойство Response.Buffer

Свойство Response.Buffer указывает на необходимость буферирования вывода. Когда вывод буферизован сервер не передает вывод клиенту-браузеру сразу до тех пор, пока либо не закончится выполнение данного скрипта или не встретится метод Flush или End.

Данное свойство не может быть установлено после того, как сервер уже передаст вывод клиенту. Поэтому данное свойство должно инициироваться в первой строке скрипта.

Синтакс:

Response.Buffer [=flag]

Параметры:

  • flag - Указывает нужно ли буферизировать вывод или нет. Параметр может принимать одно из двух значений:
    • TRUE - необходимо буферизировать вывод.
    • FALSE - не нужно буферизировать.

Замечания:

Если текущий ASP-скрипт установил буферизацию вывода, и не вызвал метода Flush, то сервер не учитывает Keep-Alive - запросы сделанные клиентом. Это сохраняет время, так как серверу не нужно создавать новое соединение на клиентский запрос.

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

Вы можете использовать ASPBufferingOn - свойство для того, чтобы установить значение по умолчанию для всех скриптов выполняемых на сервере.

Свойство Response.CacheControl

Данное свойство предъизменяет установленное по умолчанию значение. Когда вы устанавливаете свойство в значение Public, то Proxy-сервер может кэшировать вывод, генерируемый ASP-ом.

Синтакс:

Response.CacheControl [= cache control header]

Параметры:

  • Cache control header - Этот параметр управления заголовком может быть либо Public либо Private.

Свойство Response.CharSet

Свойство CharSet позволяет добавлять название кодовой таблицы символов (к примеру, WINDOWS-1251) в HTML заголовок, строку content-type (тип содержимого).

Синтакс:

Response.CharSet имя_кодовой_таблицы

Параметры:

  • имя_кодовой_таблицы - Строка, которая указывает кодовую таблицу для данной HTML-страницы. Наименование данной кодовой таблицы будет добавлено в заголовок HTML-файла под параметром "content-type".

Пример:

Для ASP-страницы, для которой не использовано свойство Response.Charset параметр "content-type" в заголовке будет следующим:

content-type:text/html

Если же ASP-файл содержит компанду

<%Response.Charset("Windows-1251")%>

то в заголовке поле content-type будет иметь вид

content-type:text/html; charset=Windows-1251

Замечание:

Данная функция вставляет любую строку в заголовок и не проверяет ее правильность.

Если страничка содержит несколько тагов Response.Charset, то каждый последующий будет заменять значение на свое собственное.

Свойство Response.ContentType

Свойство ContentType позволяет указывать вид (тип) содержимого HTML-файла. Если данное свойство не использовано, то по умолчанию принимается text/html.

Синтакс:

Response.ContentType [=тип_содержимого]

Параметры:

  • тип_содержимого - Строка, описывающая тип содержимого HTML. Эта строка обычно имеет вид "тип/подтип", где тип это основная категория содержимого и подтип - указывает тип содержимого. Для получения полного списка поддерживаемых типов - обратитесь к документации к браузеру или спецификации HHTP.

Пример:

Следующий пример илюстрирует установку типа содержимого как Формат Определения Каналов (Push-каналы).

<% Response.ContentType = "application/x-cdf" %>

Второй пример демонстрирует установку свойства в наиболее общеизвестные значения.

<% Response.ContentType = "text/HTML" %>
<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>

Свойство Response.Expires

Свойство Expires указывает промежуток времени пока страница HTML закешированная браузером считается не утратившей силу (срок хранения). Если пользователь запрашивает закешированную страницу у браузера, у которой не вышел срок "хранения", то браузер возвращает ее прямо из своего кэша.

Синтакс:

Response.Expires [=число]

Параметры:

  • число - Количество времени в минутах перед тем, как страница будет считаться "просроченной". Установка этого значения в 0 заставляет данную страницу становится "просроченной" незамедлительно.

Замечание:

Если данное свойство установлено более чем один раз на странице, то используется самое маленькое значение.

Свойство Response.ExpiresAbsolute

Свойство ExpiresAbsolute указывает время и дату, после которого страница HTML закешированная браузером считается утратившей силу (вышел срок хранения). Если пользователь запрашивает закешированную страницу у браузера, у которой не вышел срок "хранения", то браузер возвращает ее прямо из своего кэша. Если время указано (а дата указана), то "срок хранения" данной страницы истекает в полночь этого дня. Если ни время ни дата не указаны, то значение присваивается в соответствии с днем и временем, когда был запущен скрипт.

Синтакс:

Response.ExpiresAbsolute [= [дата] [время]]

Параметры:

  • дата - Указывает на дату истечения "срока хранения". Формат даты должен соответствовать стандврту RFC-1123.
  • время - Указывает на время, когда у страницы истекает "срок хранения". Данное значение переводится в формат GMT (время по Гринвичу) перед тем, как заголовок будет передан клиенту.

Замечание:

Если данное свойство определяется более одного раза на странице, то момент истечения "срока хранения" принимается самым скорым из всех указанных значений.

Пример:

Следующий пример указывает что "срок хранения" страницы истечет в 13:30:15 31 мая 1998 года.

<% Response.ExpiresAbsolute = #May 31,1998 13:30:15# %>

Свойство Response.IsClientConnected

Данное свойство является значение только для чтения, то есть этому свойству нельзя присваивать никаких значений. Это свойство указывает на то, подключен ли клиент или уже не подключен к серверу, определенное в последнем из Response.Write.

Синтакс:

Response.IsClientConnected ( )

Замечание:

Это свойство позволяет вам определять моменты, когда пользователь подключен, и когда отключен от сервера. К примеру, длина периода времени между тем когда сервер ответил и когда клиент сделал запрос дает уверенность в том, что клиент еще подключен и есть смысл продолжить выполнение скрипта.

Пример:

<% 
'посмотрим, подключен ли пользователь
If Not Response.IsClientConnected Then 
'получаем номер сессии и закрываем сессию
Shutdownid = Session.SessionID
'подготовка к закрытию сессии
Shutdown(Shutdownid) 
End If
%>

Свойство Response.Pics

Данное свойство позволяет добавить значение поля pics-label в заголовок ответа.

Синтакс:

Response.PICS (PICSLabel)

Параметры

  • PicsLabel - Строка, которая преобразована в формат PICS - метку. Значение указанное в этом параметре добавляется в заголовок ответа в поле PICS.

Пример:

Для ASP-файла включающего:

<% Response.PICS("(PICS-1.1 <http://www.rsac.org/ratingv01.html>
labels on " & chr(34) & "1997.01.05T08:15-0500" until "1999.12.31T23:59-0000"
ratings (v 0 s 010 n 0))%>

Следующий заголовок будет сформирован

PICS-label:(PICS-1.1 <http://www.rsac.org/ratingv01.html> labels
on "1997.01.05T08:15-0500" until "1999.12.31.T23:59-0000" rating (v 0 s 0 1 0 n 0))

Замечание:

Это свойство позволяет вам вставлять любые строки в заголовок, независимо от корректности строк.

Если страничка содержит множество тагов содержащих Response.PICS, то каждая последующая будет заменять значение предыдущей.

Свойство Response.Status

Данное свойство позволяет указывать строку состояния, возвращаемую сервером. Значения статуса определены в спецификации HTTP.

Синтакс:

Response.Status = описание_состояния

Параметры

  • описание_состояния - Строка, которая содержит и трех цифровой номер, который указывает код статуса и также краткое описание данного кода. К примеру, 310 Move Permanently.

Пример:

Следующий пример показывает установку статуса:

<% Response.Status = "401 Unauthorized" %>

Замечание:

Используйте это свойство чтобы модифицировать строку, возвращаемую сервером.


Оглавление

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог