1. Браузер формирует запрос к серверу, используя протокол HTTP. Как правило, браузер запрашивает HTML-страницу, то есть текстовый файл, содержащий HTML-код.
2. Сервер анализирует запрос браузера и извлекает из локального хранилища требуемый файл.
3. Сервер формирует HTTP-ответ, включающий требуемую информацию, и отсылает его браузеру по протоколу HTTP.
4. Браузер выполняет отображение страницы.
Классическая схема проста, но обладает существенным недостатком – страницы статичны, и их содержимое не может меняться динамически в зависимости от запросов клиента. В настоящее время подобный подход не соответствует большинству информационных услуг, предоставляемых с помощью сети Internet39. Все большее распространение получают технологии, при использовании которых страницы (целиком или частично) генерируются на сервере непосредственно перед отправкой клиенту. Эти технологии обычно содержат в своем названии словосочетание Server Pages – «серверные страницы» (ASP, ASP.NET). Работают технологии «серверных страниц» по схожим принципам:
- Для представления информации на сайте используются не страницы с HTML-кодом, а серверные страницы специального синтаксиса (который часто является HTML-подобным).
- При запросе серверной страницы веб-сервер запускает отдельный служебный процесс, которому перенаправляется запрос.
- В служебном процессе страница анализируется, по ней генерируется некий объект, соответствующий странице.
- Служебный процесс выполняет методы сгенерированного объекта. Как правило, объект имеет специальный метод, генерирующий выходной поток страницы в виде HTML-кода.
- Сервер перехватывает выходной поток страницы, формирует HTTP-ответ и отсылает его браузеру.
- Браузер выполняет отображение страницы.
ASP.NET представляет и поддерживает концепцию фонового кода (Code Behind). Эта концепция позволяет разделить логику и визуальное представление. Согласно данной концепции класс страницы наследуется от некоторого базового класса, в котором размещаются методы, образующие логику выполнения страницы. Сама страница содержит только описание визуальной части (какие визуальные компоненты и где размещены, как настроены их свойства).
Технология ASP.NET также пытается перенести принципы, используемые при написании приложений Windows Forms, на web-программирование. Речь идет о программировании, основанном на обработке событий. Отдельный компонент страницы ASP.NET, как правило, обладает набором некоторых событий. Хорошим примером является кнопка, у которой есть событие On_Click. Для того чтобы закодировать логику страницы, программист пишет обработчики соответствующий событий. Когда событие происходит, информация о нем пересылается от клиента на сервер, где срабатывает обработчик события. Затем страница (вся или только ее часть) вновь пересылается клиенту.
Чтобы страница сохраняла свое состояние между отдельными циклами приема-передачи, это состояние фиксируется в специальном скрытом поле перед отправкой на сервер, а сервер восстанавливает состояние страницы перед отправкой клиенту. Данный технологический прием называется в ASP.NET поддержкой View State (отображаемого состояния).





