Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Мировые информационные ресурсы

Покупка
Артикул: 830393.01.99
Доступ онлайн
1 000 ₽
В корзину
Учебный курс, формирующий представления о построении приложений для глобальной сети Интернет на основе концепции Web. В качестве основной платформы построения приложений рассматривается технология Microsoft ASP.NET. После изучения курса слушатель сможет разрабатывать собственные приложения на платформе Microsoft ASP.NET. В курсе рассматриваются основы разработки приложений для глобальной сети Интернет на основе концепции Web. После изучения основ функционирования и разработки Web-приложений упор делается на разработку приложений на основе платформы ASP.NET. Microsoft ASP.NET - это мощная и гибкая платформа для построения Web-приложений, требующая внимательного изучения для построения профессиональных, масштабируемых и удобных Web-приложений. Поскольку платформа ASP.NET объединяет в себе два существенно отличающихся друг от друга направления - ASP.NET Web Forms и ASP.NET MVC Framework - в рамках данного курса рассматриваются оба этих направления. В начале курса, после рассмотрения базовых понятий и механизмов, уделяется некоторое время для изучения специфических аспектов по каждому из направлений. Далее на протяжении всего курса различные аспекты разработки Webприложений рассматриваются в плоскостях обоих подходов.
Звездин, С. В. Мировые информационные ресурсы : краткий учебный курс / С. В. Звездин. - Москва : ИНТУИТ, 2016. - 269 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2146626 (дата обращения: 21.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов

                                    
Мировые информационные ресурсы

2-е издание, исправленное

Звездин С.В.

Национальный Открытый Университет “ИНТУИТ”
2016

2

Мировые информационные ресурсы/ С.В. Звездин - М.: Национальный Открытый Университет
“ИНТУИТ”, 2016

Учебный курс, формирующий представления о построении приложений для глобальной сети
Интернет на основе концепции Web.
В качестве основной платформы построения приложений рассматривается технология Microsoft
ASP.NET. После изучения курса слушатель сможет разрабатывать собственные приложения на
платформе Microsoft ASP.NET. В курсе рассматриваются основы разработки приложений для
глобальной сети Интернет на основе концепции Web. После изучения основ функционирования и
разработки Web-приложений упор делается на разработку приложений на основе платформы
ASP.NET. Microsoft ASP.NET – это мощная и гибкая платформа для построения Web-приложений,
требующая внимательного изучения для построения профессиональных, масштабируемых и удобных
Web-приложений. Поскольку платформа ASP.NET объединяет в себе два существенно
отличающихся друг от друга направления – ASP.NET Web Forms и ASP.NET MVC Framework – в
рамках данного курса рассматриваются оба этих направления. В начале курса, после рассмотрения
базовых понятий и механизмов, уделяется некоторое время для изучения специфических аспектов по
каждому из направлений. Далее на протяжении всего курса различные аспекты разработки Webприложений рассматриваются в плоскостях обоих подходов.

(c) ООО “ИНТУИТ.РУ”, 2013-2016
(c) Звездин С.В., 2013-2016

3

Основы функционирования веб-приложений

Эта лекция содержит общую информацию о функционировании веб-приложений.
Здесь рассматриваются основные протоколы и механизмы, которые задействованы в
процессе работы веб-приложений. Рассмотрение вопроса идет с точки зрения общих
концепций и не зависит от конкретных решений или платформ.

Как работают веб-приложения

Цель лекции: сформировать концептуальное представление о функционировании вебприложений.

Веб-приложения – это специальный вид приложений, которые работают в глобальной
сети Интернет по протоколу HTTP (см. л. 2). Как правило, веб-приложения не требуют
установки дополнительного программного обеспечения на стороне клиента, а вся
логика, в основном, выполняется на стороне сервера. Для отображения
пользовательского интерфейса используется браузер – программа, способная
распозновать язык разметки HTML (и сопутствующие технологии – таблицы стилей
CSS, клиентский скриптовой язык программирования JavaScript и т.д.). Браузер обычно
принято называть “тонким клиентом”, т.е. клиентом, который содержит минимальное
количество бизнес-логики.

Давайте разберемся в том, как функционирует любое веб-приложение. Необходимые
компоненты для работы пользователя с веб-приложением – браузер (тонкий клиент),
веб-сервер (серверная часть), протокол взаимодействия клиента и сервера (HTTP) и
язык разметки для создания документов (HTML). Основу функционирования вебсервера и протокола HTTP мы подробнее рассмотрим в следующих лекциях, а пока
остановимся на концептуальном представлении. Для того, чтобы веб-приложение
стало доступно, его необходимо разместить в рамках веб-сервера (специальная
программа, которая обрабатывает запросы из сети). После этого приложение получит
свой уникальный адрес в рамках протокола HTTP (например, ссылка:
http://www.myapplication.com/page1.html). Используя этот адрес пользователь может
обратиться к приложению. Для этого он должен запустить браузер (клиентское
приложение) и ввести в адресной строке адрес приложения. В этот момент браузер
сгенерирует запрос к серверу и отправит его, используя протокол HTTP. В момент,
когда сервер примет этот запрос, он сможет распознать, что именно требуется от него
на основе полученного запроса. Используя эти данные он сгенерирует ответ и отправит
его обратно клиенту также используя протокол HTTP. Обычно ответ содержит
гипертекстовую разметку HTML, содержащую структуру документа, который
передается пользователю. После того, как браузер получит ответ в виде HTMLдокумента, он немедленно отобразит его пользователю. Таким образом, было
совершено взаимодействие клиента и сервера. Зачастую документ HTML содержит
ссылки на изображение, другие медиа-файлы, таблицы стилей или клиентские
сценарии. В этом случае браузер генерирует еще несколько аналогичных запросов к
веб-серверу. Однако, в этом случае веб-сервер передает клиенту уже не HTMLдокумент, а соответствующие запрашиваемые ресурсы (изображения, таблицы стилей,
клиентские сценарии и т.д.).

4

В самом простейшем случае на сервере может быть сохранен готовый документ
HTML, который по запросу будет передаваться пользователю. Это – так называемый,
статический документ. В этом случае он просто считывается с жесткого диска и
передается клиенту. Однако, такой сценарий работы в глобальной сети становится все
более редким. Другой подход – генерация кода HTML в процессе обработки запроса от
клиента. Этот подход позволяет сделать веб-приложение более интерактивным,
отзывчивым на действия клиента и создающее впечатления настоящего приложения, а
не простой загрузки HTML-документов. Таким образом, мы, имея возможность
генерировать HTML-код страницы, можем влиять на ту информацию, элементы
управления и другие аспекты интерфейса, которые увидит пользователь. По сути,
задача веб-приложения и заключается в том, чтобы генерировать нужный HTML-код, в
зависимости от действий пользователя. Однако, возможности веб-приложений могут
не ограничиваться только генерацией разметки HTML – они могут генерировать
изображения, клиентские сценарии, таблицы стилей и другие ресурсы, которые могут
быть загружены пользователем. Тем не менее, основным сценарием является все-таки
генерация конечного документа HTML.

Как уже говорилось ранее, для взаимодействия клиента и сервера используется
протокол HTTP (который более детально будет рассмотрен в последующих лекциях).
Сейчас важно понять, что этот протокол работает по схеме “запрос-ответ”. В момент,
когда клиент хочет обратиться к серверу, он генерирует запрос, который отправляется
серверу. Сервер обрабатывает этот запрос и подготавливает ресурсы, которые будут
отправлены клиенту. После этого сервер генерирует ответ, в котором содержатся все
необходимые данные и отправляет клиенту. Работа веб-приложений заключается в
формировании необходимых данных как раз в момент подготовки ресурсов на сервере.
Обычно в этот момент запускается некоторый программный код, который содержит
определенную бизнес логику. Схему работы типичного веб-приложения схематически
можно представить следующим образом (зеленым цветом обозначены действия,
которые выполняются на клиентской стороне, а синие – на серверной).

5

Веб-приложения существенно отличаются от настольных приложений. Последние
запускаются на компьютере клиента и выполняют свой код именно там. Поэтому
настольные приложения зачастую обладают более богатым и отзывчивым
пользовательским интерфейсом и позволяют реализовывать более богатые сценарии.
По сравнению с настольными приложениями, веб-приложения обладают более
ограниченными возможностями по формированию пользовательского интерфейса и
клиентской функциональности. По этой причине за последнее время сложился
стереотип о том, что серьезные приложения (например, бизнес-приложения) – это, как
правило, настольные приложения. Однако, развитие веб-технологий доказало, что вебприложения также могут реализовывать богатые сценарии и успешно конкурировать с
настольными приложениями. Кроме того, за последние несколько лет очень активно
развиваются технологии, позволяющие сделать веб-приложения еще более
интерактивными. К ним относятся технология AJAX (будет рассмотрена в рамках
курса), которая на основе клиентских сценариев JavaScript может сделать
взаимодействие более интерактивным. Также существует ряд технологий, которые
добавляют интерактивности приложению за счет внедрения в браузер специальных
модулей (плагинов), которые могут отображать специальные типы файлов с более
богатыми возможностями. К таким технологиям в первую очередь относятся
технологии Silverlight и Flash.

Однако, несмотря на то, что существует ряд технологий, упрощающих создание
динамичных веб-приложений, их разработка по прежднему остается довольно
трудоемкой задачей. Разработка веб-приложений существенно отличается от
разработки настольных систем. Этому есть две главные причины:

Веб-приложения исполняются на сервере. Весь программный код исполняется в
рамках веб-сервера, а клиенту доставляется уже готовая разметка HTML, которая
отображается внутри браузера.
Веб-приложения не хранят состояния. По-сути, сервер “забывает” про
пользователя после того, как обработал его запрос.

Оба этих фактора существенно влияют на процесс разработки веб-приложений. Из-за
этого при построении любого веб-приложения приходится решать типичные задачи –
способы хранения информации о пользователе, организация сеансов работы
пользователя, способы переходов от страницы к странице, механизмы оптимизации
эффективности (например, кэширование) и др. При реализации каждого вебприложения разработчику придется столкнуться с этими проблемами и решить их.
Поскольку набор этих задач является достаточно стандартным и одинаково решается
для большинства веб-приложений, то его реализация вынесена в отдельные
технологии, которые называются технологиями для разработки веб-приложений. К
таким технологиям относятся технология Microsoft ASP.NET, PHP, Ruby on Rails и др.
В них, фактически, содержатся все компоненты, необходимые для реализации вебприложений и учитывающие их специфику. Далее в рамках данного курса мы будем
рассматривать разработку веб-приложений с позиции платформы Microsoft ASP.NET.

Однако, несмотря на те преимущества настольных приложений, которые мы
рассмотрели ранее, веб-приложения также обладают своими преимуществами.

6

Основное преимущество веб-приложений заключается в процессе развертывания
приложения, т.е. установке приложения конечному клиенту. Если настольное
приложение необходимо установить на каждое рабочее место где оно будет
использоваться, то веб-приложение нужно разместить на сервере и дать ссылку на него
всем пользователям. Особенно актуален данный аспект там, где присутствует большое
количество рабочих мест. Кроме того, в случае обновления программного кода, вебприложения также имеют преимущество – для их обновления требуется только
обновить код на сервере. При этом настольное приложение потребовалось бы
обновлять на каждом рабочем месте.

Краткие итоги

Веб-приложения работают на сервере и исполняются в рамках веб-сервера
(специальной программы, обрабатывающей запросы). Взаимодействие клиента и
сервера осуществляется про протоколу HTTP в рамках схемы “запрос-ответ”. Вся
логика веб-приложения размещается на сервере. Из-за этого появляются
дополнительные проблемы при разработке веб-приложений. Настольные приложения
имеют более богатый пользовательский интерфейс, но веб-приложения легче
разворачивать и обновлять (особенно, если имеется большое количество рабочих мест).
Пользовательский интерфейс веб-приложений может стать более интерактивным, если
использовать дополнительные инструменты – клиентские сценарии JavaScript, а также
приложения Silverlight, Flash и др.

Протокол HTTP/HTTPS

Цель лекции: сформировать представление о функционировании протокола
HTTP/HTTPS.

HTTP (HyperText Transfer Protocol) – один из наиболее важных протоколов, который
обеспечивает передачу данных через интернет. Протокол HTTP находится на седьмом,
прикладном уровне модели OSI и работает на основе протокола TCP.

7

Поскольку протокол HTTP находится на прикладном уровне, прикладные приложения
могут использовать непосредственно его для организации сетевого взаимодействия.
Кроме того, протокол HTTP является важнейшей частью веб-приложений. В этом
случае браузер, используя возможности HTTP, взаимодействует с сервером для
получения необходимых данных.

Протокол HTTP предполагает передачу данных в режиме “запрос-ответ”. При этом в
рамках такого взаимодействия могут передаваться данные практически любого типа –
обычный текст, гипертекст (HTML), таблицы стилей, клиентские сценарии,
изображения, документы в различных форматах, бинарная информация и т.д.

В рамках протокола HTTP всегда четко выделяется клиент и сервер. Клиент всегда
является инициатором взаимодействия. Сервер, в свою очередь, прослушивает все
входящие соединения и обрабатывает каждое из них. Поскольку HTTP-взаимодействие
функционирует по схеме “запрос-ответ”, то для инициации сеанса передачи данных
необходимо сгенерировать HTTP-запрос. В рамках этого запроса клиент описывает то,
какой ресурс он хочет получить от сервера, а также указывает различные
дополнительные параметры. После этого запрос отправляется серверу и тот, в свою
очередь, обрабатывает запрос и генерирует HTTP-ответ, в котором содержится
служебная информация и содержимое того ресурса, который был запрошен. В целом
схематически процесс можно изобразить следующим образом.

8

HTTP-запрос и HTTP-ответ сходны по своей структуре и называются HTTPсообщениями. Фактически, все взаимодействие в рамках протокола HTTP сводится к
пересылке HTTP-сообщений. Каждое HTTP-сообщение является обычной текстовой
информацией, представленной в определенном формате. Давайте поподробнее
рассмотрим формат HTTP-сообщения.

Каждое HTTP-сообщение состоит из нескольких строк. Первой строкой всегда идет
приветственная строка, она существенно различается для HTTP-запроса и HTTPответа. Обычно в ней содержится общая информация о запросе. После первой строки в
HTTP-сообщении присутствуют HTTP-заголовки – каждый заголовок с новой строки.
HTTP-заголовки присутствуют как в HTTP-запросе, так и в HTTP-ответе. Смысл
HTTP-заголовков заключается в уточнении HTTP-сообщения для того, чтобы
принимающая это HTTP-сообщение сторона могла наиболее точно обработать
входящее сообщение. Количество заголовков HTTP-сообщения является переменным и
зависит от конкретного HTTP-сообщения. Если отправляющая сторона считает, что
этот HTTP-заголовок необходим в этом HTTP-сообщении, то она добавляет его, если
нет – то не добавляет. Каждый HTTP-заголовок начинается с новой строки. HTTPзаголовок состоит из имени и значения, имя заголовка определяет его предназначение.
После набора HTTP-заголовков следует пустая строка, после которой идет тело HTTPсообщения. Таким образом, общую структуру HTTP-сообщения можно представить
следующим образом.

9

HTTP-запрос формируется на клиенте и отправляется на сервер с целью получения
информации от него. В нем содержится информация о ресурсе, который необходимо
загрузить, а также дополнительные сведения. Первая строка содержит метод запроса
(который мы рассмотрим далее в этой лекции), имя ресурса (с указанием
относительного пути на сервере), а также версию протокола. Например, вид
приветственной строки может быть определен как “GET /images/corner1.png

HTTP/1.1“. Такой запрос обращается к серверу с требованием выдать методом GET
изображение, расположенное в папке “images” и имеющее название “corner1.png“.
HTTP-заголовки имеют важное значение для HTTP-запроса, поскольку в них
указывается уточняющая информация о запросе – версия браузера, возможности
клиента принимать сжатое содержимое, возможности кэширования и другие важные
параметры, которые могут влиять на формирование ответа. В теле HTTP-запроса
обычно содержится информация, которую необходимо передать на сервер. Например,
если требуется загрузить файл на сервер, то содержимое файла будет находится в теле
HTTP-запроса. Однако, размещение данных в теле HTTP-запроса допускается не для
всех HTTP-методов. Например, тело HTTP-запроса всегда пустое, если используется
метод GET. Таким образом, стандартный HTTP-запрос может выглядеть следующим
образом.

В приведенном HTTP-запросе клиент обращается к серверу “microsoft.com“,
запрашивает ресурс “images/corner.png” и указывает, что он способен принимать

10

Доступ онлайн
1 000 ₽
В корзину