А вы задумывались, что происходит, когда пользователь открывает новую вкладку в браузере и вводит адрес сайта, например:
https://virafintex.ru?
Упрощенно путь запроса выглядит так:
Компьютер - домашний роутер - провайдер - магистральные сети интернета - балансировщик нагрузки - веб сервер - приложение - БД. Ответ сформирован и той же цепочкой он пойдет назад.
А где же во всем этом API, шифрование? Давайте все подробнее рассмотрим с помощью модели OSI. Модель OSI описывает сетевое взаимодействие через семь уровней: физический, канальный, сетевой, транспортный, сеансовый, уровень представления и прикладной.
Прикладной уровень
Браузер:
• принимает введенный URL;
• определяет, что соединение идет через протокол HTTPS;
• проверяет локальный кэш;
• если IP-адрес сайта неизвестен — отправляет DNS-запрос;
• формирует HTTP-запрос.
DNS (Domain Name System) — преобразует понятное человеку доменное имя (virafintex.ru) в IP-адрес сервера, по которому уже можно установить соединение.
Уровень представления
На этом уровне данные подготавливаются к передаче.
Здесь происходит:
• кодирование данных;
• сжатие (gzip, Brotli);
• шифрование с помощью TLS.
TLS (Transport Layer Security) — криптографический протокол, который защищает передаваемые данные от перехвата и изменения. Именно благодаря ему HTTP превращается в HTTPS.
Сеансовый уровень
Перед передачей данных необходимо установить защищенную сессию между браузером и сервером.
Во время установки защищенного соединения происходит:
• отправка сервером своего сертификата;
• браузер проверяет его подлинность;
• стороны согласовывают алгоритмы шифрования;
• формируют общий сеансовый ключ.
После этого начинается защищенный обмен данными.
Транспортный уровень
Передача данных на этом уровне осуществляется с помощью TCP протокола.
TCP (Transmission Control Protocol) — транспортный протокол, который обеспечивает надежную передачу данных между клиентом и сервером.
TCP отвечает за:
• доставку пакетов;
• правильный порядок их получения;
• повторную передачу потерянных пакетов;
• контроль ошибок.
Сетевой уровень
После того как DNS вернул IP-адрес сервера, начинается передача данных по сети в виде IP-пакетов.
Пример ip-адреса локального компьютера 192.168.1.10
IP-пакет содержит:
• IP-адрес отправителя;
• IP-адрес получателя;
• служебную информацию для маршрутизации;
• полезную нагрузку (например, TCP-сегмент с HTTP-запросом).
Канальный уровень
Перед отправкой данных компьютер должен узнать MAC-адрес следующего устройства — обычно домашнего роутера.
MAC-адрес (Media Access Control Address) — это уникальный физический адрес сетевого интерфейса устройства, который назначается производителем.
Например:
00:1A:2B:3C:4D:5E. Посмотрите на свой домашний роутер вы там найдете Mac-адрес на наклейке.
Физический уровень
На последнем уровне данные превращаются в физические сигналы.
В зависимости от типа подключения это могут быть:
• электрические импульсы;
• радиоволны (Wi-Fi);
• световые импульсы (оптоволокно).
Так информация передается по сети.
На каком же уровне работает системный аналитик?
Дам наводку, 7 уровень, прикладной, он же application. Именно здесь проектируются интеграции между системами и описываются:
REST API; SOAP; gRPC; GraphQL; WebSocket; Kafka и так далее, а так же токены, передающиеся внутри запросов (аутентификация и авторизация).
Также аналики могут работать и с 6 и 5 уровнем (уровень представления и сеансовый уровень) с TLS сертификатами.
А на каких уровнях работаете вы?
Только на прикладном уровне - 😜
Активно работаю на уровне представления и сетевом - 🙈
Полезно - 🦅
Post #321
1.52K
- ❤ 5
- 🙈 4
- 🤪 2