Объект HttpRequest

advertisement
Объект HttpRequest
Если объект HttpResponse позволяет разработчику с максимальным удобством отправлять информацию
удаленному пользователю, не заботясь о различных мелочах физического уровня, а сосредотачиваясь
именно на логике отсылаемого пакета, то объект HttpRequest помогает разработчику легко разгрести ту
кучу разнородной информации, которая приходит от удаленного пользователя. В этот объект помещается
информация, посылаемая браузером на сервер. В блоке принимаемой информации могут находиться
данные, введенные пользователем в элементы управления форм, URL запрошенного ресурса,
содержание cookies и многое другое. Объект HttpRequest поможет разработчику получить именно ту
информацию, которая ему нужна для функционирования приложения.
Мы поступим так же, как и в предыдущем разделе — рассмотрим перечень свойств и методов объекта.
Принципы и основные приемы работы с данным объектом все равно будут объяснены в иных разделах,
посвященных конкретным задачам Web-приложений. Начнем со свойств.

AcceptTypes. Свойство содержит в качестве значения массив строк типа string, в которых
записываются типы MIME, которые поддерживаются браузером удаленного пользователя.

AppiicationPath. Свойство содержит путь к виртуальному каталогу, в котором находится ASP.NET
приложение, относительно корневого каталога WWW-сервера.

Browser. Составное свойство, в котором указывается список параметров браузера удаленного
пользователя. Значение данного свойства имеет тип HttpBrowserCapabalities. Соответственно,
объект подобного типа имеет свои свойства, которые необходимо перечислить.

Activexcontrois. Свойство логического типа, указывающее, разрешено ли данному браузеру
работать с элементами ActiveX.

aol. Свойство логического типа, указывающее, использует ли удаленный пользователь
специализированный браузер службы AOL.

Backgroundsounds. Свойство логического типа, указывающее, разрешено ли данному браузеру
воспроизводить звуковые файлы, прикрепленные к Web-страницам. 76

Beta. Свойство логического типа, сигнализирующее, что браузер удаленного пользователя
является всего лишь бета-версией с возможно усеченной функциональностью.

Browser. Значение данного свойства является строкой, в которой содержится условное
наименование браузера. Это же наименование передается в виде содержимого заголовка HTTP с
наименованием User-Agent.

cdf. Свойство логического типа, указывающее, может ли браузер удаленного пользователя
обрабатывать push-каналы доставки информации, созданные на основе формата CDF (Channel
Definition Format).

Cookies. Свойство логического типа, указывающее, разрешено ли браузеру сохранять cookies на
машине удаленного клиента.

crawler. Свойство логического типа, указывающее, установлено ли в браузере пользователя
средство поиска Web crawler.

Frame ss Свойство указывает, может ли браузер пользователя отображать фреймы. В настоящее
время этот вопрос, очевидно, не имеет особого смысла.

JavaApplets. Свойство логического типа, указывающее, может ли браузер удаленного
пользователя корректно работать с апплетами Java.

JavaScript. Логическое свойство, в котором указывается, умеет или нет браузер удаленного
пользователя интерпретировать и выполнять Java-сценарии.

MajorVersion. Свойство содержит основной номер версии браузера, т. е. число, стоящее до точки
в полном номере версии. Значение данного свойства имеет, естественно, тип integer.

MinorVersion. Свойство указывает дополнительный номер версии, т. е. число, находящееся после
первой точки в полном номере версии.

MsoomVersion. В свойстве указывается номер версии объектной модели документа (Microsoft
XML Document Object Model), которая поддерживается браузером пользователя.

Platform. В данном свойстве содержится кодовое наименование операционной системы, которая
установлена на машине удаленного пользователя. Естественно, значение данного свойства
имеет типString.

Tables. Свойство указывает, может ли браузер пользователя отображать таблицы, включаемые в
состав HTML-документов. Да, было когда-то такое время, когда браузеры не могли работать с
таблицами.

Туре. В данном свойстве указываются кодовое наименование браузера и основной номер его
версии. Значение свойства имеет тип string.

VBScript. Логическое свойство, в котором указывается, умеет или нет браузер удаленного
пользователя интерпретировать и выполнять сценарии, написанные на языке VBScript.

version. Свойство содержит в строковом виде полную версию применяемого пользователем
браузера.

wscDOMVersion. В свойстве указывается номер версии объектной модели документа (W3C
Document Object Model), которая разработана консорциумом WWW.


winie. Логическое свойство, в котором указывается, работает удаленный пользователь на
шестнадцатиразрядной версии Windows или нет.
Win32. Логическое свойство, в котором указывается, работает удаленный пользователь на
тридцатидвухразрядной версии Windows или нет.

clientcertificate. Значение данного свойства имеет тип HttpCiientCertificate и содержит
информацию об установках безопасности клиента, если тот использует соединение по протоколу
SSL 3.0.

contentEncoding. В этом свойстве указывается наименование кодировки символов, примененной
браузером при отправке информации на сервер.

contentLength. В данном свойстве указывается размер блока информации, переданного на
сервер. Размер рассчитывается в байтах. Естественно, значение свойства имеет тип integer.

contentType. Свойство содержит наименование MIME-типа для принимаемой сервером
информации.

Cookies. Свойство содержит коллекцию cookies, которые передаются на сервер браузером
пользователя.

Filepath. В свойстве содержится путь к документу, который запросил пользователь. При этом не
учитывается путь для перемещения внутри запрошенного документа, т. е. все закладки, если
таковые были указаны в URL, этим свойством игнорируются. Путь указывается только к файлу.

Files. Свойство содержит коллекцию файлов, переданных пользователем на сервер. Естественно,
свойство имеет смысл обрабатывать только в том случае, если указан MIME-ТИП multipart /formdata.

Filter. Данное сюйстю является функционально идентичным своему одноименному близнецу,
который применяется к объекту HttpResponse. В этом свойстве указывается фильтр,
применяемый к входящему потоку информации.

Form. В свойстве содержится коллекция наименований органов управления формы, которая
была использована посетителем сайта для ввода информации.

Headers. В свойстве содержится коллекция заголовков протокола HTTP, переданных браузером
удаленного пользователя на сервер.

HttpMethod. Свойство указывает, какой именно тип передачи информации на сервер был
использован браузером удаленного пользователя. В качестве значений применяются ключевые
слова Get, Post и Head. Тип значения свойства, естественно, string.

inputstream. В свойстве содержится входящий поток информации в "сыром" виде. А именно
таким, каким его принял сервер.

isAuthenticated. Логическое свойство, указывающее, прошел ли удаленный пользователь
аутентификацию или нет.

issecureconnection. Логическое свойство, которое применяется для указания, что клиент
пользуется защищенным протоколом соединения, таким, как SSL.

Pa rams. Свойство объединяет в себе коллекцию всех переменных изQueryString, Form,
ServerVariables и Cookies.

Path. В свойстве указывается путь в системе виртуальных каталогов к запрошенному удаленным
пользователем ресурсу.

Pathinfo. Свойство содержит часть URL, запрошенного пользователем, располагающуюся после
расширения файла. Другими словами, это добавочная информация, включенная в состав URL,
помимо основного документа.

PhysicaiAppiicationpath. В свойстве содержится физический (а не виртуальный) путь к каталогу,
в котором находится и выполняется действующее приложение ASP.NET.

PhysicaiPath. Свойство содержит физический путь, соответствующий виртуальному
расположению файла, запрошенного пользователем.

QueryString. В свойстве находится коллекция с наименованиями всех переменных и параметров,
переданных в строке запроса URL. Обычно в эту строку добавляются наименования органов
ввода информации из форм и значений, введенных в них пользователем, если применен метод
передачи get.

RawUri. В свойстве находится URL, запрошенный пользователем, в сыром виде, не прошедшим
процедуру лексического анализа для выделения из него составных частей. Если у разработчика
есть такое желание, он может самостоятельно разбирать этот URL.

RequestType. Свойство позволяет получать или устанавливать тип передачи информации от
браузера удаленного пользователя на сервер. В качестве значений, естественно, могут быть
использованы слова get и post.

ServerVariables. Свойство позволяет приложению получить доступ к коллекции наименований
стандартных свойств сервера и браузера.

TotaiBytes. В свойстве указывается размер пришедшего на сервер запроса от удаленного
пользователя в байтах. Естественно, значение данного свойства имеет тип integer.

uri. В данном составном свойстве собрана самая различная информация об URL, запрошенном
пользователем.

uriReferrer. В данном свойстве содержится информация об URL той страницы, с которой
пользователь пришел на текущую.

userAgent. Свойство содержит неразобранную информацию о браузере, применяемом
удаленным пользователем, в виде одной строки.

userHostAddress. В свойстве содержится IP-адрес удаленного пользователя, который послал
данный запрос.


userHostName. В свойстве содержится доменное имя, приписанное удаленному пользователю.
userLanguages. Значение содержит отсортированный массив строк, в которых указываются
языки, используемые удаленным пользователем, т. е. его лингвистические предпочтения.
На этом список свойств встроенного объекта HttpRequest заканчивается. Мы переходим к его
уникальным методам.

BinaryRead. Метод позволяет читать определенное количество байтов из входящего потока
информации. В качестве параметра методу передается целочисленное значение, указывающее,
сколько именно байтов следует прочитать. Метод возвращает массив типа Byte.

MapimageCoordinates. Метод возвращает двумерный массив, содержащий координаты активных
областей, присущих изображению-гиперссылке.

saveAs. Метод сохраняет входящий поток информации на диск в виде файла. В качестве
параметров методу передаются строка с наименованием создаваемого файла и логическое
значение, указывающее, следует ли сохранять помимо основного потока информации еще и
заголовки протокола HTTP, пришедшие вместе с ним.
Список уникальных методов объекта HttpRequest исчерпан. Настало время перейти к рассмотрению
других встроенных объектов.
Download