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

Основы веб-программирования

Покупка
Основная коллекция
Артикул: 778182.01.99
В пособии приводится описание основных технологий веб-программирования, рассматриваются примеры разработки и отладки распределенных систем, содержатся практические задания.
Цыгулин, А. А. Основы веб-программирования : учебное пособие / А. А. Цыгулин. - Новосибирск : Изд-во НГТУ, 2020. - 64 с. - ISBN 978-5-7782-4197-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1866934 (дата обращения: 24.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Министерство науки и высшего образования Российской Федерации 

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ 
 
 
 
 
 
А.А. ЦЫГУЛИН 
 
 
 
 
ОСНОВЫ  
ВЕБ-ПРОГРАММИРОВАНИЯ 
 
 
Утверждено  
Редакционно-издательским советом университета  
в качестве учебного пособия 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
НОВОСИБИРСК 
2020 

УДК 004.655(075.8) 
         Ц 945 
 
 
 
Рецензенты: 
канд. техн. наук, доцент И.В. Самочернов 
канд. техн. наук, доцент А.В. Гунько 
 
 
Работа подготовлена на кафедре теоретической и прикладной  
информатики для студентов факультета прикладной математики  
и информатики направлений «Прикладная математика 
и информатика» и «Математическое обеспечение  
и администрирование информационных систем» 
 
 
 
 
 
Цыгулин А.А. 
Ц 945  
Основы веб-программирования: учебное пособие / А.А. Цыгулин. – Новосибирск: Изд-во НГТУ, 2020. – 64 с. 

ISBN 978-5-7782-4197-8 

В пособии приводится описание основных технологий веб-программирования, рассматриваются примеры разработки и отладки распределенных систем, содержатся практические задания. 
 
 
 
 
 
УДК 004.655(075.8) 
 
 
ISBN 978-5-7782-4197-8 
© Цыгулин А.А., 2020 
 
© Новосибирский государственный 
 
    технический университет, 2020 

ПРЕДИСЛОВИЕ 

Пособие предназначено для студентов дневной формы обучения 
факультета прикладной математики и информатики НГТУ направлений подготовки 01.03.02 «Прикладная математика и информатика» и 
02.03.03 «Математическое обеспечение и администрирование информационных систем» (дисциплина «Основы веб-программирования»). 
Учебное пособие содержит введение в проблематику веб-программирования.  
В разделах 1–3 описаны основные элементы и технологии вебпрограммирования. Рассматриваются вопросы создания структуры, 
представления html-страниц и программирования их динамического 
поведения. 
Раздел 4 посвящен отладке веб-программ и инструментам для изучения веб-документов. 
В разделе 5 представлены практические задания. Раздел ориентирован на закрепление теоретических знаний и развитие практических 
навыков использования HTML JS для решения задач веб-программирования. Каждое задание структурировано определенным образом: 
цель, порядок выполнения, варианты для самостоятельной работы, 
контрольные вопросы.  
Для успешного овладения материалом данного пособия необходимы базовые знания об устройстве и функционировании компьютерных 
сетей. 
В результате изучения пособия студент должен: 

знать 

 основные протоколы и технологии, на которых базируются вебсервисы; 

 структуру и назначение элементов HTML-документов; 
 синтаксис и назначение правил таблиц CSS; 
 основы синтаксиса и способы применения языка JavaScript; 
 способы и инструменты отладки веб-программ; 

уметь 

 создавать структурированные и оформленные динамические 
HTML-страницы; 
 создавать базовые веб-программы и сервисы; 

владеть 

 методами веб-программирования; 
 навыками применения отладчика для поиска ошибок в программах. 
Курс охватывает базовые сетевые технологии и инструменты разработки интерактивных веб-страниц. 

Программа 

Базовые интернет-технологии (протоколы, браузер, сервер) и их 
взаимодействие. 
HTML-разметка и CSS-стили. 
Технологии веб-разработки. 
Серверные технологии. 
Формы на странице. 
 
 

ВВЕДЕНИЕ 

Современный мир немыслим без Интернета, без сетевых приложений и сервисов. В основе большинства из них лежат сетевые технологии, протоколы IP, TCP, UDP, TLS, HTTP, WebSockets и многие другие. Понимание и грамотное использование этих технологий позволяет 
создавать сложные функциональные надежные и безопасные сервисы 
и приложения. 
Современная сеть Интернет – это миллиарды компьютеров и коммутаторов, соединенных линиями связи как проводными, так и беспроводными. В основе их взаимодействия лежит протокол IP, с помощью которого компьютеры могут обмениваться информацией. 
Введем несколько основных понятий: 
 сайт – набор данных и программ, объединенных общей темой; 
 WWW – набор соглашений для обмена информацией; 
 HTTP – основной набор соглашений для обмена информацией; 
 JavaScript – наиболее распространенный язык программирования 
для веб-разработки; 
 браузер – клиентская программа для отображения веб-страниц, 
среда выполнения веб-приложений на стороне клиента; 
 сервер – специализированный компьютер, а также программа 
для обработки запросов браузера, среда выполнения веб-приложений 
на стороне сервера. 
Рассмотрим основной сценарий работы интернет-сервиса. На устройстве клиента, будь то стационарный компьютер или смартфон, работает клиентское приложение – программа, обеспечивающая пользо-

вательский интерфейс и локальную обработку данных. При необходимости клиентская программа делает запрос к серверу для передачи 
данных и получения ответа (например, при необходимости отобразить 
информацию о прогнозе погоды делается запрос к соответствующему 
серверу с указанием местоположения клиента и параметров прогноза). 
Сервер, получив запрос, выполняет необходимые действия и отправляет их результат программе-клиенту. Программа-клиент отображает 
полученные данные пользователю. Описанное взаимодействие называется клиент-серверным. 
Для передачи данных в сети Интернет используется протокол IP. 
Этот протокол обеспечивает возможность указать адрес источника и 
получателя. Адрес описывает вычислительный узел источника или 
приемника. Протокол IP может доставить данные от одного узла к другому. Для того чтобы данные попали на обработку в соответствующую 
программу, нужен еще один протокол, позволяющий указать, какой 
программе они адресованы. Для этого используется UDP- или TCPпротокол. У обоих протоколов есть пара номеров портов: отправителя 
и получателя. Номер порта указывает на программу (точнее, открытый 
этой программой сокет), запущенную на источнике сообщения или 
приемнике. 
Порты с номерами от 0 до 1023 используются для зарегистрированных системных сервисов. В Linux для использования портов  
от 0 до 1023 нужны права root. 
Порты от 1024 до 49151 распределяются IANA (Internet Assigned 
Numbers Authority) – специальной службой по назначению уникальных 
номеров. 
Порты с 49152 по 65535 могут быть использованы любой программой, так как эти порты свободны и обычно используются как динамические порты. Запущенные на хосте программы могут случайным образом выбрать порт из этого диапазона как временный, часто они 
используются клиентами как временные порты для связи с серверами. 
Протокол UDP позволяет передавать сообщения небольшой длины – 
датаграммы. При передаче данных подтверждение их приема не входит в задачу и реализуется на прикладном уровне. 

Длина датаграммы определяется дважды: в заголовке IP и UDP в 
16-битном поле, и в результате она ограничена числом 65507 (65535 – 
8 байт заголовка UDP – 20 байт заголовка IP). 
На практике необходимо учитывать ограничения интерфейса передачи данных, и если длина пакета с UDP превысит максимальный  
размер пакета Ethernet (MTU Maxim Transfer Unit, в большинстве случаев это 1500 байт), то такой пакет будет фрагментирован, т. е.  
разбит на несколько частей. Если промежуточные маршрутизаторы 
или оконечное устройство не поддерживает фрагментацию или если 
хотя бы одна часть будет потеряна, датаграмма не будет доставлена. 
Чтобы избежать фрагментации UDP-пакетов, следует ограничить размер датаграмм MTU – максимальный размер заголовка IP – размер заголовка UDP, т. е. 1500 – 60 – 8 = 1432 байта.  
В IPv6 пакеты UDP могут иметь больший размер. Максимальное 
значение составляет 4 294 967 295 байт (232 – 1), из которых 8 байт соответствуют заголовку, а остальные 4 294 967 287 байт – данным. 
Большинство современных сетевых устройств могут отправлять и 
принимать пакеты большей длины, вплоть до 65535 байт, такие пакеты 
называют «Jumbo-фреймы», однако точный максимальный размер обрабатываемых пакетов зависит от типа сетевого оборудования, и перед 
их использованием необходимо проверять возможность передачи таких пакетов или искать максимально допустимый размер передаваемых фреймов с помощью пробных посылок. 
Если требуется передать больше данных или целостность передачи 
требуется подтвердить, можно использовать протокол TCP. Протокол 
TCP предоставляет поток данных с предварительной установкой соединения, повторно запрашивает данные в случае их потери и устраняет дублирование при получении двух копий одного пакета, гарантируя 
тем самым, в отличие от UDP, целостность передаваемых данных и 
уведомление отправителя о результатах передачи. 
Как для UDP, так и для TCP номер порта определяет сервис, и его 
номер можно узнать в специальной таблице. Номера портов, используемые для конкретных специфических целей, выделяет и регистрирует 
IANA, однако на практике часто встречаются случаи их неофициального применения.