ASP.NET (Active Server Page) – активные серверные страницы.
Ранние веб приложения делились на две категории:
• Сценарии интерпретируемые серверным ресурсом.
Например, ASP (Active Server Page).
• Отдельные маленькие приложения, исполняемые
серверными вызовами. Например, CGI (Common
Gateway Interface)
- Интеграция с .NET Framework.
- Код ASP.NET компилируется а не интерпретируется.
- ASP.NET поддерживает несколько языков.
- ASP.NET обслуживается CLR.
- ASP.NET объектно-ориентированная технология.
- Поддержка множества устройств и браузеров.
- Простота развертывания и конфигурирования.
- С помощью браузера пользователь делает запрос на сервер. Браузер использует HTTP для того, что бы отправить запрос.
- Сервер обрабатывает GET запрос (находит запрашиваемую страницу и выполняет ее) возвращая HTML разметку
- Браузер обрабатывает ответ и отображает страницу.
- Пользователь заполняет форму, жамимая на кнопку submit
- Сервер обрабатывает POST запрос, выполняя код и формируя ответ для пользователя.
Все эти действия могут повторятся в течении работы веб страницы.
Роль веб сервера
Веб сервер ответственный за получение и
обработку запросов полученных через HTTP.
Веб сервер обрабатывает запрос и отправляет ответ обратно
веб браузеру. После отправки ответа веб сервер закрывает
соединении с браузером и освобождает все ресурсы,
которые были задействованы при обработке запроса.
Роль веб браузера
Веб браузер — независимое от платформы
приложение для запроса и отображения HTML
страниц. В обязанности браузера входит отображение
информации полученной с сервера и получение
информации от пользователя для отправки ее обратно на
сервер.
Роль HTTP
HTTP -( Hyper Text Transfer Protocol)это протокол прикладного уровня для передачи данных от браузера к серверу и обратно. HTTP сообщение обычно передаются между сервером и браузером через
порт 80 или 443 при использовании Secure HTTP (HTTPS).
Запрос Request
При запросе страницы браузер отправляет текстовую
команду на сервер.
GET /default.aspx HTTP/1.1
Host: www.mysite.ru
GET — HTTP глагол (метод или команда) описывающая действие, которое должен выполнить
веб сервер.
/default.aspx — запрашиваемая на сервере страница.
HTTP/1.1 — версия протокола
Host: www.mysite.ru — заголовок. Доменное имя сайта к которому выполняется запрос.
Полезно в том случае если на сервере одновременно работает несколько веб приложений.
HTTP Глаголы
OPTIONS Используется клиентским приложением для получения
списка доступных глаголов.
GET Получение данных с сервера.
HEAD Получение метаданных (заголовков) ресурса. При данном
запросе ресурс не возвращается.
POST Отправка данных на сервер для обработки. Обычно
данные введенные пользователем в форме на странице.
PUT Позволяет клиенту создать ресурс по указанному URL
(создать файл на сервере)
DELETE Удаление ресурса на сервере
CONNECT Команда для использования с прокси серверами
Ответ Response
HTTP/1.1 200 OK
Server: Microsoft-IIS/6.0
Content-Type: text/html
Content-Length: 36
Hello world
HTTP/1.1 — версия протокола
200 — status code
OK — описание статуса
Server: Microsoft-IIS/6.0 — заголовок хранящий версию сервера
Content-Type: text/html- заголовок с MIME типом ответа. Данное значение нужно для того, что бы
браузер правильно интерпретировал данные полученные от сервера
Content-Length:36 — размер тела ответа в байтах
Hello world — тело ответа
Группы статус кодов HTTP
Группа Описание
1xx Информационные
2xx Успешное завершение
3xx Команды перенаправлений
4xx Клиентские ошибки
5xx Серверные ошибки
Распространённые статус коды HTTP
100 Continue
200 OK
201 Created
301 Moved Permanently
400 Bad Request
403 Forbidden
404 Not Found
500 Internal Server Error
501 Not Implemented
Структура страницы:
- Директивы страницы.
- Код страницы (может быть полностью вынесен в aspx.cs файл).
- Разметка страницы.
Встроенный код – данная модель кодирования используется в традиционном ASP.
Код и HTML разметка храниться в одном файле .aspx. Данный подход удобен для простых веб страниц или страниц без пользовательского интерфейса. · Скрытый код – при использовании данной модели кодирования каждая страница разбивается на два файла – файл разметки и файл кода (code behind). Файл разметки (.aspx) – хранит HTML дескрипторы и стили, а файла кода (*.aspx.cs) хранит C# код.
·
Директива Page – первая срока файла разметки. Директива указывает язык для страницы и оповещает ASP.NET, где искать файл кода данной страницы.
App_Code – специальная директория ASP.NET проекта, содержащая код и бизнес объекты (файлы .cs и .vb), которые являются частью проекта и должны компилироваться.
App_Data – директория ASP.NET проекта, содержит файлы с данными для текущего приложения (базы данных *.mdf или xml документы *.xml и т.д.)
Способы связывание событий с обработчиками событий:
- Набрать код обработчика событий вручную.
- Дважды щелкнуть на элементе управления в представлении ‘Design’ для страницы.
- Выбрать событие из окна Properties в представлении ‘Design’ для страницы.