Несмотря на то что в пространстве именSystem.Netопределено немало членов, лишь немногие из них на самом деле требуются при решении наиболее типичных задач программирования для Интернета. Основу сетевых программных средств составляют абстрактные классыWebRequestиWebResponse.От этих классов наследуют все классы, поддерживающие конкретные сетевые протоколы. (Протоколопределяет правила передачи данных по сети.) Например, к производным классам, поддерживающим стандартный сетевой протокол HTTP, относятся классыHttpWebRequestиHttpWebResponse.
КлассыHttpWebRequestиHttpWebResponseдовольно просты в использовании. Тем не менее решение некоторых задач можно еще больше упростить, применяя подход, основанный на классеWebClient.Так, если требуется только загрузить или выгрузить файл, то для этой цели лучше всего подойдет классWebClient.
Универсальные идентификаторы ресурсов
В основу программирования для Интернета положено понятиеуниверсального иден-тификйтора ресурса(URI), иногда еще называемогоунифицированным указателем информационного ресурса(URL). Этот идентификатор описывает местоположение ресурса в сети. В корпорации Microsoft принято пользоваться сокращением URI при описании членов пространства именSystem.Net,и поэтому в данной книге выбрано именно это сокращение для обозначения универсального идентификатора ресурса. Идентификаторы URI, без сомнения, известны каждому, кто хотя бы раз пользовался браузером для поиска информации в Интернете. По существу, это адрес информационного ресурса, который указывается в соответствующем поле окна браузера.
Ниже приведена общая форма идентификатора URI:
Протокол://Идентмфмкационный_номер_сервера/Путь_к_файлу1 Запрос
гдеПротокол—это применяемый протокол, например HTTP;Идентификацион-ный_номер_сервера— конкретный сервер, напримерmhprof essional. comили
HerbSchildt. com;Путь_к_файлу—путь к конкретному файлу. Если жеПуть_к_ файлуне указан, то получается страница, доступная на указанном сервере по умолчанию. И наконец,Запрособозначает информацию, отправляемую на сервер. УказыватьЗапроснеобязательно. В C# идентификаторы URI инкапсулированы в классUri,рассматриваемый далее в этой главе.
Основы организации доступа к Интернету