exam03 - stankin/inet-2022 GitHub Wiki

Билет 3

1. Понятия интернета, интранета, браузера. Обязанности провайдеров услуг интернета.

2. Основные синтаксические конструкции языка JavaScript. Особенности использования динамической типизации.

◀️ Реферат к вопросам экзамена по дисциплине Интернет-технологии 1 курса магистратуры ▶️

Выполнили: Марков Даниил ИДМ-22-02, Заложкина Ксения ИДМ-22-08, Мирончик Александра ИДМ-22-07, Носачев Егор ИДМ-22-06, Ефременко Маргарита ИДМ-22-01, Давтян Артем ИДМ-22-04, Шинкарева Валерия ИДМ-22-05

1 Понятия интернета, интранета, браузера. Обязанности провайдеров услуг интернета.

1.1 Понятия интернета, интранета, браузера.

Многие считают, что WWW (Всемирная Сеть) — это и есть Интернет. Но, ведь, электронная почта (e-mail), IP-телефония, многие приложения в смартфонах — тоже часть Интернета.

Интернет — это глобальная информационная система, которая:

  1. логически взаимосвязана пространством глобальных уникальных адресов, основанных на Интернет-протоколе (IP) или на последующих расширениях или преемниках IP;
  2. способна поддерживать коммуникации с использованием семейства Протокола управления передачей/Интернет-протокола (TCP/IP) или его последующих расширений/преемников и/или других IP-совместимых протоколов;
  3. обеспечивает, использует или делает доступной, на общественной или частной основе, высокоуровневые сервисы, надстроенные над описанной здесь коммуникационной и иной связанной с ней инфраструктурой.

Данное определение термина «Интернет» было дано официальной резолюцией американским сетевым сетевым советом (FNC — Federal Networking Council) от 24 октября 1995 года

Если кратко, то Интернет - это глобальная информационная система, которой свойственны 3 вещи:

  • Использование IP-адресов и соответствующего протокола.
  • Использование протокола TCP/IP для передачи данных.
  • Высокоуровневые сервисы на вышеупомянутой платформе адресов и протоколов.

Этими высокоуровневыми сервисами являются WWW — то место, где «обитают» веб-сайты, E-mail, IP-телефония, различные мессенджеры типа Telegram или Viber, приложения для смартфонов, P2P — пиринговые сети и прочие.

Интранет — это распределенная корпоративная вычислительная сеть, базирующаяся на технологиях интернета и предназначенная для обеспечения доступа сотрудников к корпоративным информационным электронным ресурсам. В системе интранет предприняты все меры, чтобы доступ к ресурсам данной сети получили только пользователи, которые относятся к одной организации.

В отличие от интернета, это внутренняя частная сеть, принадлежащая, как правило, частному лицу, организации или крупному государственному ведомству. Интранет похож на «интернет в миниатюре», который построен, как правило, на использовании протокола IP для обмена и совместного использования некоторой части информации внутри этой организации. Это могут быть списки сотрудников, списки телефонов партнёров и заказчиков. Таким образом, интранет — это «частный» интернет, ограниченный виртуальным пространством отдельно взятой организации. Интранет допускает использование публичных каналов связи, входящих в Internet, (VPN), но при этом обеспечивается защита передаваемых данных и меры по пресечению проникновения извне на корпоративные узлы.

Приложения в интранете основаны на применении интранет-технологий и особенности веб-технологии: гипертекст в формате HTML, протокол передачи гипертекста HTTP и интерфейс серверных приложений CGI. Составными частями интранета являются веб-серверы для статической или динамической публикации информации и браузеры для просмотра и интерпретации гипертекста.

Как утверждает Стивен Лотон, термин «интранет» впервые появился 24 апреля 1995 года в журнале «Digital News & Review», техническим редактором которого он являлся, в его статье под заголовком «Intranets fuel growth of Internet access tools».

Наглядным примером интранета являются сети связи специального назначения — ведомственные сети государственных органов власти и госкорпораций.

Очевидная выгода использования интранета:

  • Высокая производительность при совместной работе над какими-то общими проектами
  • Легкий доступ персонала к данным
  • Гибкий уровень взаимодействия: можно менять бизнес-схемы взаимодействия как по вертикали, так и по горизонтали.
  • Мгновенная публикация данных на ресурсах интранета позволяет специфические корпоративные знания всегда поддерживать в форме и легко получать отовсюду в компании, используя технологии сети и гипермедиа. Например: служебные инструкции, внутренние правила, стандарты, службы рассылки новостей и даже обучение на рабочем месте.
  • Позволяет проводить в жизнь общую корпоративную культуру и использовать гибкость и универсальность современных информационных технологий для управления корпоративными работами.

Преимущества веб-сайта в интранете перед клиентскими программами архитектуры клиент-сервер:

  • Не требуется установки программы-клиента на компьютерах пользователей (в качестве неё используется браузер). Соответственно, при изменениях функциональности корпоративной информационной системы обновления клиентского ПО также не требуется.
  • Сокращение временных издержек на рутинных операциях по вводу различных данных благодаря использованию веб-форм вместо обмена данными по электронной почте
  • Кросс-платформенная совместимость — стандартный браузер на Microsoft Windows, Mac, и GNU/Linux/*NIX.

Недостатки интранета:

  • Сеть может быть взломана и использована в целях злоумышленников
  • Непроверенная или неточная информация, опубликованная в интранете, приводит к путанице и недоразумениям
  • В свободном интерактивном пространстве могут распространяться нелегитимные и оскорбительные материалы
  • Легкий доступ к корпоративным данным может спровоцировать их утечку к конкурентам через недобросовестного работника
  • Работоспособность и гибкость интранета требуют накладных расходов на разработку и администрирование

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

Самые популярные браузеры на сегодняшний день — это Google Chrome, Opera, Firefox, Safari, Яндекс, Internet Explorer. Согласно исследованию HotLog, самым используемым в октября 2020 года стал Chrome — 64.10% пользователей выбрали именно этот браузер. С большим отрывом далее следуют Safari (14.91%) и Яндекс (12.79%).

Chrome и Firefox относятся к браузерам с открытым исходным кодом. Это значит, что код находится в публичном доступе, например, на github.com, и каждый желающий может его посмотреть и принять участие в разработке. К преимуществам таких браузеров относится открытость, независимость от больших компаний и скорость разработки. Однако, последнее может оказаться и недостатком, поскольку все зависит от команды разработчиков. В таком случае, открытый код программы становится менее стабильным.

Механизм работы всех видов браузеров одинаковый:

  1. Пользователь открывает свой браузер и вводит адрес нужного сайта.
  2. Браузер ищет сервер. Сервер — это программа, без которой не работал бы ни один сайт в интернете. Браузер ищет сервер по IP-адресу, который уникален для каждого сайта. Сначала он далеко не идет, а ищет его в кэше роутера, операционной системе или же в истории подключений, которая хранит информацию об IP-адреса сервера, если его уже посещали ранее. Если браузер там его не находит, он смотрит в DNS (Domain Name System). Она представляет собой что-то вроде телефонной книги, которая хранит информацию о том, какое доменное имя соответствует адресу.
  3. Браузер пытается установить соединение с сервером. Теперь, когда браузер нашел нужный IP-адрес, он устанавливает с ним соединение с помощью специального протокола TCP/IP, который отвечает за передачу данных в интернете. Для установки соединения используется процесс “рукопожатие”(с англ. handshaking), который проходит в три этапа: серверу отправляется специальный запрос с номером последовательности и флагом SYN; потом он отправляет ответный запрос с подтверждением получения SYN — ACK; после этого сервер посылает подтверждение приема — ACK и соединение считается установленным.
  4. Браузер отправляет HTTP запрос на сервер. Таким образом он запрашивает информацию для того, чтобы отобразить страницу. Эта коммуникация осуществляется с помощью GET-запроса и POST-запроса.
  5. Сервер обрабатывает запрос и отправляет ответ браузеру. Запрос обрабатывается следующими веб-серверами: apache, nginx, lighttpd. После этого Браузер обрабатывает ответ и отображает запрашиваемый контент. Это называется рендерингом. Пока он происходит, браузер и сервер обмениваются данными. По завершении, пользователь видит загруженную страницу.

Функции браузера

Помимо главной функции — открытие страниц сайтов, браузер выполняет и другие задачи:

  1. Позволяет скачивать файлы любого типа. Это может быть музыка, фильмы, книги, игры, программы.
  2. Позволяет использовать почту. Вы можете создать себе почтовый ящик, чтобы переписываться с друзьями, обмениваться файлами, подписаться на получение рассылок любимого бренда.
  3. Сохраняет пароли для сайтов. Таким образом, вам не приходится вводить их вручную при каждом посещении сайта.
  4. Сохраняет историю посещенных страниц. Это позволяет в любой момент найти сайт или страницу, которую вы просматривали ранее.
  5. Добавляет закладки. Браузер позволяет добавить нужный сайт в закладки, чтобы запомнить его и иметь быстрый доступ.
  6. Поддерживают разные дополнения. Сюда относятся расширения, информеры, темы оформления браузера. Расширения так и называются, потому что расширяют функциональные возможности браузера. Это могут быть интеграции, микросервисы и SaaS. Информер — это такой блок на сайте, который автоматически обновляет информацию. К самым популярным информерам относятся новостные, валютные, погодные. С помощью визуальных тем можно изменить дизайн в браузера и отдельных его элементов: фонов, вкладок, кнопок.

1.2 Обязанности провайдеров услуг интернета.

Интернет провайдер — это организация, предоставляющая услуги доступа к сети интернет и иные связанные с интернетом услуги.

Интернет-провайдеры делятся на компании первого и второго звена:

  1. Провайдеры мирового уровня владеют межконтинентальными узлами, которые обеспечивают связь между материками посредством кабелей, проложенных по дну океанов. Это провайдеры гиганты, на которых держится вся сеть интернет. Они же владеют проводами, которые пролегают на дне океана и по которым передается до 99% международных интернет-данных.
  2. Вторичные провайдеры, к ним относятся все, кто распределяет интернет по странам и городам (национальные или региональные поставщики). Они получают право предоставлять рассматриваемые услуги за плату у поставщиков мирового уровня, а затем продают интернет услуги всем желающим – своим абонентам.

К обязанностям интернет провайдера можно отнести:

  1. Предоставление услуг, которые оплачены клиентом согласно тарифу
  2. Устойчивое и качественное предоставление услуг, которые соответствуют требованиям технических норм
  3. Своевременное обслуживание и ремонт сетевого оборудования
  4. Обеспечение безопасности информации клиента.

Права и обязанности участников (пользователей и провайдеров) в области связи на территории Российской Федерации более подробно прописаны в Федеральном законе от 7 июля 2003 г. № 126-ФЗ «О связи».

2 Основные синтаксические конструкции языка JavaScript. Особенности использования динамической типизации.

2.1 Основные синтаксические конструкции языка JavaScript.

Объявление переменных

Синтаксис JavaScript - это набор правил, по которым строятся программы на JavaScript:

Как создавать переменные:

var x; let y;

Как использовать переменные:

x = 5; y = 6; let z = x + y;

Литералы JavaScript

Двумя наиболее важными синтаксическими правилами для фиксированных значений являются:

  1. Числа записываются с десятичными знаками или без них:

10.50 1001

  1. Строки - это текст, заключенный в двойные или одинарные кавычки:

"Всем привет" 'Я тоже текст!'

Также существуют шаблоны строк, то есть строки с обратными кавычками. Такие строки могут содержать так называемые подстановки, обозначаемые знаком доллара и фигурными скобками ${выражение}.

var name = "Бобби", time = "сегодня"; Привет ${name}, как ты ${time}?

Переменные JavaScript

В языке программирования переменные используются для хранения значений данных.

JavaScript использует ключевые слова var, let и const для объявления переменных.

JavaScript чувствителен к регистру и использует кодировку символов Unicode.

Переменная früh не то же самое что Früh потому что JavaScript чувствителен к регистру.

Знак равенства используется для присвоения значений переменным.

В этом примере x определяется как переменная. Затем x присваивается (задается) значение 6:

let x; x = 6;

Операторы в JavaScript

JavaScript использует арифметические операторы ( + - * / ) для вычисления значений:

(5 + 6) * 10

Комментарии в JavaScript

Не все операторы JavaScript "выполняются".

Код после двойной косой черты // или между /* и */ рассматривается как комментарий.

Комментарии игнорируются и не будут выполнены:

let x = 5; // Я запущусь

// x = 6; Я никогда не запущусь :(

Типы данных в JavaScript

JavaScript имеет 8 типов данных:

  1. String
  2. Number
  3. Bigint
  4. Boolean
  5. Undefined
  6. Null
  7. Symbol
  8. Object

Тип данных объекта может содержать:

  1. Объект
  2. Массив
  3. Дату

Функции в JavaScript

Функция JavaScript - это блок кода, предназначенный для выполнения определенной задачи.

Функция JavaScript выполняется, когда "что-то" вызывает ее.

// Функция вычислит и "вернёт" произведение p1 и p2

function myFunction(p1, p2) {

return p1 * p2;

}

Условные операторы в JavaScript

Используйте оператор if, чтобы указать блок кода JavaScript, который будет выполнен, если условие истинно.

if (condition) { // блок кода исполнится, если condition === true }

Используйте оператор switch, чтобы выбрать один из многих блоков кода для выполнения.

switch(expression) { case x: // блок кода break; case y: // блок кода break; default: // блок кода }

2.2 Особенности использования динамической типизации.

Динами́ческая типиза́ция — приём, используемый в языках программирования и языках спецификации, при котором переменная связывается с типом в момент присваивания значения, а не в момент объявления переменной. Таким образом, в различных участках программы одна и та же переменная может принимать значения разных типов. Примеры языков с динамической типизацией — Smalltalk, Objective-C, Ruby, PHP, Perl, JavaScript, Лисп.

Динамическая типизация упрощает написание программ для работы с меняющимся окружением, при работе с данными переменных типов; при этом отсутствие информации о типе на этапе компиляции повышает вероятность ошибок в исполняемых модулях.

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

var foo = 42; // сейчас foo типа Number foo = "bar"; // а теперь foo типа String foo = true; // foo становится типа Boolean

Первый вид динамической типизации - преобразование в строку. Как и что можно превратить в строку в JavaScript?

Команда String позволяет любой тип данных конвертировать в строку:

console.log(typeof(String(null))); console.log(typeof(String(11)));

Результат

string string

Конкатенация - это сложение/объединение строк. Или сложение строки с чем-то: с каким-либо другим типом данных. При этом происходит преобразование в строку этого типа данных.

console.log(typeof(11 + '')); console.log(typeof(undefined + ''));

Результат

string string

В результате при сложении числа со строкой мы получаем строку. Тот же результат мы увидим при сложении строки с другими типами данных, например, undefined. На практике часто используется этот способ преобразования различных типов данных в строку, особенно чисел.

Второй вид динамической типизации - Преобразование в число. Команда Number позволяет любой тип данных конвертировать в число:

const obj = {}; console.log(typeof(obj)); console.log(typeof(Number(obj))); console.log(typeof(Number('expert')));

Результат

object number number

При помощи команды Number конвертируем объект и строку в число, затем используем оператор typeof, чтобы убедиться в этом. Такой способ конвертации различных типов данных в число используется очень редко.

Унарный плюс более лаконичный и удобный способ конвертации различных типов данных в число. Унарный плюс конвертирует объект и строку в числовой тип данных.

Стоит упомянуть о числовых методах parseInt() и parseFloat(), которые изредка используются для конвертации строк в числа.

Третий вид динамической типизации - преобразование типов данных в булевы значения. При подобных преобразованиях полезно обращаться к логике. Например, null - пустота, то чего не существует. Что это? Истина или ложь: true или false? Логично предположить, что пустота или "не ничего" - это ложь. И это действительно так, в языке JavaScript значение null - это false.

В языке JavaScript есть условное разделение на логические типы.

ИСТОЧНИКИ

  1. 📑 Лекции по дисциплине "Интернет-технологии"
  2. 📑 Резолюция федерального сетевого совета
  3. 📑 Определение термина Интранет (Постановление Росстата от 20.12.2007 N 104)
  4. 📃 Понятие термина Браузер
  5. 📑 Федеральный закон "О связи" от 07.07.2003 N 126-ФЗ
  6. 📃 Статья "Интернет: Официальное определение термина"
  7. 📑 Кульгин М. Технологии корпоративных сетей. Энциклопедия.
  8. 📃 Что такое браузер: определение, функции
  9. 📑 Туториал по JavaScript
  10. 📑 Динамическая типизация в JavaScript
⚠️ **GitHub.com Fallback** ⚠️