Шкод.ру - php, web - программирование.
Программирование Web-приложений. Начало
Привет!
С сегодняшнего дня мы начинаем изучение web-приложений, технологии ASP .NET и всего, что связано с этой темой.
Любой, кто более-менее владеет навыками программирования в среде .Net Framework, освоит излагаемый материал. Сразу скажу, что в качестве основного инструмента потребуется Microsoft Visual Studio 2005, а также знание основ языка C#.
Начнем с рассмотрения Web-приложений и пространства имен System.Net.
Общий принцип работы клиентского компьютера в Интернете (имеются ввиду работа с Web-серверами) следующий:
Программирование Web-приложений. Начало
Таким образом, можно выделить три значимых этапа: подключение к серверу, отправка запроса и получение ответа.
Подключение к серверу
Для подключения к любому серверу требуется знать его доменное имя или IP-адрес. В терминологии .NET сервер, характеризуемый IP-адресом или доменным именем называется сетевым ресурсом. Полное местонахождение сетевого ресурса может быть описано идентификатором ресурса (URI, Uniform Resource Identifier), что является синонимом знакомому понятию URL (Uniform Resource Locator).
Общая форма URI следующая:
1.
Протокол://Доменное_Имя_сервера/Имя_страницы_или_сценария?Строка_запроса
Протокол - наименование протокола, используемого для получения/отправки данных (HTTP, FTP и т.п.)
Если Имя_страницы_или_сценария не указано, то сервер вернет страницу по умолчанию (обычно это index.htm или что-то в этом роде).
Строка_запроса - информация, которая будет отправлена на сервер в виде параметров (может не указываться).
Библиотека .NET Framework имеет класс Uri (System.Net.Uri), используемый для описания сетевых ресурсов.
Как было сказано выше, принцип работы клиентского приложения построен по модели запрос/ответ, что означает: приложение отправляет запрос на сервер, характеризуемый URI, затем ждет, пока не придет ответ, после чего получает ответ в виде HTML.
Пространство имен System.Net включает абстрактный класс WebRequest, определяющий базовые операции понятия "запрос" и подключение к серверу. От этого класса происходят классы, реализующие операции для конкретных протоколов (например HttpWebRequest реализует операцию "запрос" для протокола HTTP).
Подключение к серверу и отправка запроса в классе WebRequest происходят в вызове одного метода - GetResponse(), который возвращает ответ сервера. Конструктор класса WebRequest создает экземпляр производного класс в зависимости от протокола в параметре Uri. Например WebRequest.Create("http://www.nnm.ru") - создаст нам экземпляр класс HttpWebRequest, так как указанный в Uri протокол - HTTP.
Итак, рассмотрим сказанное выше на примере:
1.
sing System.Net;
2.
...
3.
//создаем Uri
4.
Uri NoName = new Uri("http://www.nnm.ru");
5.
6.
//создаем класс-запрос для подключения к URI
7.
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(NoName);
8.
//выполняем подключение
9.
HttpWebResponse response = (HttpWebResponse)httpReq.GetResponse();
В последней строке кода мы выполняем получение ответа от сервера, используя специализированный класс HttpWebResponse, который будет рассмотрен в следующем выпуске.
Итак, мы рассмотрели принципы работы клиентских web-приложений. В следующем выпуске я расскажу, как отправляются запросы и получают ответы на запросы сервера.