Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Роль HTTP
Роль HTTP
Web-приложения очень сильно отличаются от традиционных приложений для настольных систем. Первым очевидным отличием является то, что любое реальное Web-приложение предполагает использование, как минимум, двух соединенных в сеть, машин (конечно, при разработке приложения вполне возможно, чтобы роли клиента и сервера играла одна машина). Задействованные машины должны согласовать использование определенного сетевого протокола для успешного осуществления отправки и приёма данных. Сетевым протоколом, соединяющим компьютеры в рассматриваемом нами случае, является протокол HTTP (Hypertext Transfer Protocol – протокол передачи гипертекста).
Когда машина-клиент запускает Web-браузер (такой, как Netscape Navigator, Mozilla Firefox или Microsoft Internet Explorer), генерируется HTTP-запрос доступа к конкретному ресурсу (например, к файлу *.aspx или *.htm) на удаленной машине-сервере. Протокол HTTP – это текстовый протокол, построенный на стандартной парадигме запросов и ответов. Например, при обращении к http://www.IntertechTraining.com программное обеспечение браузера использует Web-технологию, называемую сервисом DNS (Domain Name Service – служба имен доменов), которая позволяет превратить зарегистрированный адрес URL в 4-байтовое (32-разрядное) числовое значение (называемое IP-адресом). После этого браузер открывает сокет (обычно через порт с номером 80) и посылает HTTP-запрос странице, используемой Web-узлом http://www.IntertechTraining.com по умолчанию. Осуществляющий хостинг Web-сервер получает поступающий HTTP-запрос, и указанный в запросе ресурс может содержать программную логику, способную прочитать значения, введенные клиентом (например, в окне текстового блока), чтобы сформировать HTTP-ответ, Разработчик Web-программы может использовать любые технологии (CGI, ASP, ASP.NET, сервлеты Java и т.д.), чтобы динамически генерировать содержимое HTTP-ответа. Затем браузер клиента отображает HTML-код, полученный от Web-сервера. На рис. 23.1 показана общая схема цикла запросов-ответов HTTP.
Рис. 23.1. Цикл запросов и ответов HTTP
Другой особенностью Web-разработки, заметно отличающей ее от программирования традиционных приложений, оказывается то, что протокол HTTP является сетевым протоколом, не сохраняющим состояние. Как только Web-сервер отправляет ответ клиенту, вся информация о предыдущем взаимодействии оказывается "забытой". Поэтому на вас, как Web-разработчика, возлагается задача принятия специальных мер, обеспечивающих "запоминание" соответствующей информации о клиентах, которые в настоящий момент оказываются зарегистрированными на вашем узле (такой информацией может быть, например, список товаров в корзине покупателя). В следующей главе вы сможете убедиться в том, что ASP.NET обеспечивает целый ряд способов обработки состояния, причем как стандартных для всех Web-платформ (это сеансовые переменные, файлы cookie и переменные приложения), так и новых (визуальные состояния, состояния элементов и кэш).
- Роль HTTP
- Web-приложения и Web-серверы
- Роль HTML
- Роль сценариев клиента
- Подача запроса формы (GET и POST)
- Создание "классической" ASP-страницы
- Проблемы классической технологии ASP
- Пространства имен ASP.NET 2.0
- Модель программного кода Web-страницы ASP.NET
- Структура каталогов Web-узла ASP.NET
- Цикл компиляции страницы ASP.NET 2.0
- Цепочка наследования типа Page
- Взаимодействие с поступающим HTTP-запросом
- Взаимодействие с исходящим HTTP-ответом
- Цикл существования Web-страницы ASP.NET
- Природа Web-элементов управления
- Тип System.Web.UI.Control
- Основные члены типа System.Web.Ul.WebControls.WebControl
- Категории Web-элементов управления ASP.NET
- Создание простого Web-узла ASP.NET 2.0
- Роль элементов управления, связанных с контролем ввода
- Резюме
- Роль товарной категории и установление цены
- Роль папки Bin
- Контрольные вопросы
- Глава 14. Почему потребительский опыт играет важную роль в выстраивании клиентских взаимоотношений
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
- З.1.2. Пароль BIOS не сбрасывается даже при удалении батарейки. Почему?
- Не хочу, чтобы компьютером пользовались в мое отсутствие. Как установить пароль и блокировать машину?
- Где лучше хранить свой пароль?
- Я забыл пароль входа в Windows, можно ли зайти в систему, не зная пароля?
- Есть ли возможность установить пароль на папку или файл?
- Роль типизации
- Во время загрузки появляется окно с запросом пароля, но раскладка используется русская, а у меня пароль на английском. К...