Рекомендуется: ASP Советы: повысить эффективность использования коллекций запросов Доступ к коллекции ASP для извлечения значения-это трудоемкий и вычислительный процесс потребления ресурсов. Поскольку эта операция содержит серию поисков для связанных наборов, это намного медленнее, чем доступ к локальной переменной. Поэтому, если вы собираетесь использовать значение из коллекции запросов несколько раз на странице
Запрос и ответ являются двумя наиболее часто используемыми встроенными объектами, предоставленными ASP. Между браузером (или другим пользовательским агентом) и веб-сервером обмен информацией, который происходит в запросе и ответе, может быть доступен и управляется через два встроенных объекта в ASP, называемых объектами запроса и ответа.
Почти вся работа, которая будет выполнена на странице ASP, требует доступа к этим двум объектам. Использование этих двух объектов повлияет на эффективность и надежность страницы. Конечно, их основная цель - получить доступ к значению, отправленному на сервер пользователем, то есть получить из сегмента <Form> страницы HTML или прикрепить его к URL -адресу в качестве строки запроса и создать соответствующий вывод, чтобы вернуться к пользователю, и они могут поделиться многими из тех же факторов. Например, оба объекта могут использовать файлы cookie, хранящиеся на клиентском компьютере.
Поэтому мы делим контент на две независимые части (часть каждого объекта) и сначала начинаем с обмена информацией между клиентом и сервером, а затем изучаем каждый объект.
Исследовательский контент:
· Как клиент общается с сервером для доставки Интернета или других ресурсов.
· Детали объектов запроса и ответа, а также то, что они являются общими.
· Как получить доступ к соответствующему значению через форму и строку запроса.
· Как читать или создать файлы cookie и хранить их на компьютере клиента.
· Каковы переменные сервера? Как получить доступ и изменить заголовки HTTP.
· Опишите изменения в другие связанные записи, такие как использование сертификата клиента.
Связь между клиентами и серверами
Чтобы сохранить пространство, Word Browser используется в следующем контенте. Но следует помнить, что приложения, которые могут получить доступ к веб -страницам, являются не только браузерами, но и многие специальные приложения загружают веб -страницы с сайтов, такие как специальные клиентские программы, предназначенные для тех, у кого есть дефекты зрения, или тех, у кого другие трудности с использованием обычного браузера. Наиболее очевидным примером является робот, используемый поисковыми системами для доступа к сайтам в Интернете. Рассмотрим эти факторы всесторонне, включая обычные веб -браузеры, точное слово должно быть пользовательским агентом.
Страница запрос разговор
Когда браузер делает запрос страницы на веб -сайте, он, очевидно, должен сообщить серверу, какую страницу он запрашивает. Первое, что нужно сделать, это установить соединение с сервером через доменное имя, а затем предоставить полный путь и имя запрошенной страницы. Зачем вам полный путь и имя? Интернет представляет собой безграничную среду, поэтому необходимо создать сеанс для идентификации каждого клиента (как ASP может сделать это позже).
Это означает, что каждый раз, когда сервер завершает отправку страницы клиенту, сервер полностью забывает клиента. Поэтому, когда клиент запрашивает следующую страницу, он точно такой же, как и новый посетитель. Сервер не может вспомнить этого клиента, и, соответственно, он не может определить, какую страницу они запросили в прошлый раз. Потому что вы не можете использовать относительный путь для предоставления страницы, даже если страница содержит относительную ссылку, например:
< href = http: //www.cuoxincom/download.asp> Следующая страница </a>
Браузер автоматически создаст новый URL -адрес страницы с использованием домена и пути текущей страницы; Или используйте элемент <base> в разделе <head> страницы, чтобы сообщить браузеру, каковы URL всех ссылок на странице. Например:
< base herf = http: //www.cuoxin.com >
Направляя мышь на ссылку на страницу, ее можно увидеть в строке состояния браузера. Путь к текущей странице и текущий домен, базовый домен или базовый путь был объединен с запрошенным именем страницы.
1. Подробная информация о запросах клиента
Комбинация полного пути и имени запрошенной страницы является единственной резиденцией сервера, когда браузер запрашивает страницу. Запрос браузера также может включать в себя резиденцию хоста браузера и операционную систему, работающую клиентом. Фактическое информационное содержание будет изменяться соответственно с браузером, и лишь небольшое количество его может быть предоставлено другими приложениями, такими как робот поисковой системы. Чтобы получить более четкое понимание этой информации, вот пара страниц, выпущенных из IE 5.0
Скачать.
8/8/99 10:27:16 отправлено get /store/download.asp http/1.1
Принять: Application/Msword, Application/Vnd.ms-Execl, Application/Vnd.Ms-
PowerPoint, Image/Gif, Image/x-xbitMap, Image/JPEG, Image/PJPEG, Application/x-
Комета, */ *
Принятие языка: en-us
Кодирование: Gzip, дефту
Реферат: http://wwrox.com/main_menu.asp
Cookie: visitcount = 2 & lastdate = 6/4/99 10:10:13
Пользовательский агент: Mozilla/4.0 (совместимо; msie 5.0; Windows 98)
Хост: 212.250.238.67
Соединение: Keep-Alive
Исходя из этого, видно, что информация содержит подробную информацию о пользовательском агенте и подключении пользователя (например, язык по умолчанию), а также список типов приемлемых файлов или приложений, которые имеют тип MIME, и вы увидите больше позже. Браузер может принять несколько файлов изображений и несколько типов файлов Microsoft Office. Стандартные типы файлов, такие как TESX/HTML и текст/текст, не указаны в нем. */* В списке файлов означает, что любой тип файла может быть отправлен обратно в браузер, интерпретируемый браузером или через приложение плагина.
cookie: cookie, содержащийся в записи, хранится на компьютере клиента и действителен только для этого домена. Если запрос является результатом нажатия по ссылке, вместо того, чтобы напрямую вводить URL -адрес в адресной строке браузера, отображается реферат: отображается запись, которая содержит полный URL -адрес страницы ссылки.
Хост: запись содержит IP -адрес или имя клиентского компьютера. Тем не менее, этого недостаточно, чтобы точно идентифицировать клиента. Потому что, когда они подключаются через интернет -провайдера, IP -адреса динамически распределяются или когда они подключаются через прокси -сервер, IP -адреса от прокси, а не от фактического клиента.
2. Подробная информация о ответе сервера
Чтобы ответить на приведенный выше запрос и предоставить запрошенную страницу анонимному браузеру (то есть пользователю не нужно предоставлять имя пользователя и пароль доступа), следующее содержимое отправляется с сервера на клиент:
8/8/99 10:27:16 Получено http/1.1 200
Сервер: Microsoft-IIS/5.0
Соединение: Keep-Alive
Дата: Чт, 8 июля 1999 г. 10:27:16 GMT
Контент-тип: текст/HTML
Принятые диапазоны: байты
Длина контента: 2946
Последние модифицированные: Чт, 8 июля 1999 г. 10:27:16 GMT
Cookie: visitcount = 3 & lastdate = 7/8/99 10:27:16
< HTML >
… Остальная часть страницы ...
</html >
Можно видеть, что сервер объясняет программное обеспечение и версию, которые он использует для клиента. Первая строка показывает, что используется протокол HTTP и статус кода возврата. Сообщение 200 OK означает, что запрос был принят и удовлетворен. Следующая информация-это подробная информация о возвратной странице, включая тип MIME (длина контента :), размер (байт), последнее время изменения и возвращаемые cookie, хранящиеся клиентом. Другая информация в ответе - это информационный поток содержания страницы.
В некоторых случаях сервер не может вернуть страницу после ответа на запрос, возможно, потому, что страница не существует, или у клиента нет соответствующих разрешений для доступа к нему. Мы обсудим вопросы безопасности позже. Теперь, в ситуациях, когда страница запроса не существует (например, пользователь ввел неправильный URL -адрес в адресной строке браузера), возвращаемая информация начинается с: с: с:
8/8/99 14:27:16
Сервер: Microsoft-IIS/5.0
…
Здесь код состояния и информация указывают на то, что страница, запрашиваемая клиентом, не может быть найдена. Браузер может использовать эту информацию для отображения соответствующей информации пользователю (в данном случае, в IE 5.0, информация о ответе сервера не отображается, а соответствующая страница ошибки помощи) или страница по умолчанию, созданная сервером (в зависимости от настройки сервера). Объекты запроса и ответа
Подробная информация о возможности применения клиентских запросов и ответов на сервера от ASP реализуются через встроенные объекты запроса и ответа ASP.
· Запрос объект: предоставляет сценарии всей информации, предоставленной клиентом, когда клиент запрашивает страницу или проходит форму. Это включает в себя http -переменные, которые могут указывать на браузер и пользователь, файлы cookie, хранящиеся в браузере под этим доменным именем, любое управляющее значение HTML, прикрепленное в качестве строки запроса к строке после URL или раздела Page <Form>. Авторизованный доступ с использованием уровня безопасного сокета (SSL) или других зашифрованных протоколов связи, а также атрибуты, которые помогают управлять соединениями.
· Объект ответа: используется для доступа к информации о ответе, созданной сервером, и отправленной обратно клиенту. Предоставляет переменные HTTP для сценариев, которые указывают функции сервера и сервера и информацию о контенте, отправленном обратно в браузер, а также любые новые файлы cookie, которые будут храниться в браузере для этого домена. Он также предоставляет ряд методов для создания вывода, таких как повсеместный метод ответа.
1. Обзор членов объекта запроса
а) Сбор объектов запроса
Объект запроса предоставляет 5 коллекций, которые можно использовать для доступа к различной информации, запрошенной клиентом на веб -сервер. Эти коллекции следующие:
Сбор и описание объектов запроса
| Название коллекции | иллюстрировать |
| ClientCertificate | Когда клиент обращается к странице или другим ресурсам, числовой набор всех полей или записей сертификата клиента, используемого для указания идентификации на сервер, каждый член только для чтения |
| Печенье | Согласно запросу пользователя, коллекция всех файлов cookie, выпущенных системой пользователя. Эти файлы cookie действительны только для соответствующего домена, и каждый член только для чтения |
| Форма | Когда значение атрибута метода состоит из публикации, каждый элемент только для чтения для всех наборов значений управляющих единиц HTML в разделе <Form>, представленном в качестве запроса. |
| Заправка | Каждый участник только для чтения для значения всех управляющих единиц HTML в <Form>, в зависимости от пары имени/значения после URL-адреса, запрашиваемого пользователем или отправленного в качестве запроса, а атрибут метода get (или его атрибут опущен) или значения всех элементов управления HTML в <form> |
| ServerVariables | Коллекция значений заголовка HTTP, выпущенных клиентским запросом, и значения нескольких переменных среды веб-сервера, каждый участник только для чтения |
б) свойства объекта запроса
Уникальные свойства и описание объекта запроса показаны в следующей таблице. Он предоставляет информацию о количестве байтов, запрашиваемых пользователем. Это редко используется на страницах ASP. Мы обычно фокусируемся на указанном значении, а не на всей строке запроса.
| свойство | иллюстрировать |
| Totlbytes | Только для чтения, возвращает все количество байтов запроса, выпущенного клиентом |
в) методы объекта запроса
Единственный метод и описание объекта запроса отображаются в следующей таблице, что позволяет доступ к полному содержимому контенту пользовательской части запроса, передаваемой серверу из сегмента <Form>.
Метод и описание объекта запроса
| метод | иллюстрировать |
| BinaryRead (count) | Когда данные отправляются на сервер как часть запроса POST, байты подсчета данных получают из запроса клиента, и возвращается массив варианта (или SafeArray). Если код ASP уже ссылается на коллекцию запроса. Форма, этот метод не может быть использован. В то же время, если используется метод BinaryRead, сборы request.form нельзя получить |
2. Обзор членов объекта ответа
а) Сбор объектов ответа
Объект ответа имеет только одну коллекцию, как показано в следующей таблице, которая устанавливает значение cookie, которое вы хотите разместить в клиентской системе, которая непосредственно эквивалентна коллекции request.cookies.
Сбор и описание объектов ответа
| Название коллекции | иллюстрировать |
| Печенье | В текущем ответе значения всех файлов cookie, отправленных обратно клиенту, этот набор только для записи. |
б) свойства объекта ответа
Объект ответа также предоставляет ряд свойств, которые можно прочитать (в большинстве случаев) и изменен, чтобы ответ был адаптирован к запросу. Они установлены сервером, и нам не нужно их устанавливать. Следует отметить, что при настройке определенных свойств используемый синтаксис может отличаться от того, что обычно используется.
Свойства и описания объектов ответа
| свойство | иллюстрировать |
| Buuffer = true | False | Читать/записать, логическое, указывая, хранится ли выход, созданный страницей ASP в буфере IIS до тех пор, пока не будут обработаны все сценарии сервера на текущей странице или не будут выявлены методы промывки и конечных. Это свойство должно быть установлено до того, как любой вывод (включая информацию о отчетности HTTP) отправляется в IIS. Следовательно, в файле .asp эта настройка должна быть в первой строке после оператора <%@language =…%>. ASP 3.0 Буферизация по умолчанию включена (TRUE), а в более ранних версиях он выключен (False) |
| CacheControlSetting | Читать/записать, тип символа, установите это свойство для публики, чтобы прокси -сервер был кэш -страницы. Если это частное, он запрещает прокси -сервер к кэшу. |
| Charset = значение | Читать/записать, тип символа, прикрепите имя набора символов, используемое в заголовке типа контента HTTP, созданный сервером для каждого ответа (например: ISO-латин-7) |
| Тип контента = тип MIME | Читать/записать, тип символа, укажите тип контента HTTP ответа и стандартный тип MIME (например, Text/XML или Image/GIF). Если по умолчанию это означает, что используется Text/HTML типа MIME/HTML, и тип контента сообщает браузере тип ожидаемого контента. |
| Истекает минуты | Читать/записать, числовой тип, указывает продолжительность времени, в течение которого страница действительна в минуты. Если пользователь запрашивает ту же страницу до истечения периода достоверности, контент в буфере дисплея будет прочитан напрямую. После этого действительного периода страница больше не будет сохраняться в частном (пользовательском) или публичном (прокси) буфере. |
| Истекает Absolute #date [Time] # | Читать/записать, тип даты/времени, указывая на абсолютную дату и время, когда страница истекает и больше не является действительной |
| ISClientConnected | Только для чтения, Boolean, возвращает флаг состояния того, подключен ли клиент и загружается. Перед тем, как текущая страница была выполнена, если клиент переведен на другую страницу, этот флаг может использоваться для прерывания обработки (с помощью метода response.end) |
| Фото (фото-маршрута) | Напишите только, тип персонажа, создайте заголовок фотографий, чтобы определить уровень словарного запаса в содержании страницы, такой как насилие, секс, плохой язык и т. Д. |
| Статус = Кодовое сообщение | Читать/записать, тип символа, значения состояния и информация, указывающая, указывает ли заголовок HTTP, отправленный обратно в ответ клиента, успешна ли ошибка или обработка страницы. Например, 200 OK и 404 не найдены |
в) Методы объекта ответа
Объект ответа предоставляет ряд методов, как показано в следующей таблице, позволяя прямой обработку содержимого страницы, созданного для возвращения клиенту.
Методы и описания объектов ответа
| метод | иллюстрировать |
| Addheader (имя, контент) | Создайте пользовательский заголовок HTTP, используя значения имени и контента и добавьте его в ответ. Существующий заголовок с тем же именем не может быть заменен. Как только заголовок был добавлен, его нельзя удалить. Этот метод должен использоваться до того, как любые содержание страницы (то есть текст и HTML) отправляется клиенту |
| Appendtolog (строка) | При использовании формата файла файла расширенного журнала W3C добавьте запись в файл журнала веб -сервера, запрашиваемого пользователем. По крайней мере, требуйте, чтобы стебель URL был выбран на странице расширенных свойств сайта, содержащего страницу |
| BinaryWrite (SafeArray) | Напишите SafeArray типа варианта в текущем выходном потоке HTTP без какого-либо преобразования символов. Это очень полезно для написания не строгих информации, такой как двоичные данные, запрошенные пользовательским приложением или двоичными байтами, которые составляют файл изображения |
| Прозрачный() | Когда response.buffer верен, удалите существующее содержание буферированной страницы из буфера ответа IIS. Но заголовок ответа HTTP можно использовать для отказа от частично завершенных страниц |
| Конец() | Позвольте ASP завершить скрипт для обработки страницы и вернуть современный контент, а затем отказаться от дальнейшей обработки страницы |
| Румянец() | Отправьте все текущие буферные страницы в буфере IIS в клиенту. Когда response.buffer верен, его можно использовать для отправки части содержания большей страницы на отдельных пользователей |
| Перенаправить (URL) | Отправляя заголовок объекта 302 в ответе, браузер инструктирует страницу соответствующего адреса в соответствии с string url |
| Написать (строка) | Напишите указанные символы в текущем потоке информации о ответе HTTP и буфере IIS, чтобы сделать его частью возврата страницы |
Поделиться: полный контакт с приложениями хранимых процедур в разработке ASP Есть много статей о ASP и сохраненных процедурах, но я сомневаюсь, что авторы фактически практиковали это. Я прочитал много соответствующей информации, когда я был в начале, и обнаружил, что многие из предоставленных методов не имели места на практике. Для простых приложений эти данные