Themify Yuntsevich

Слайд 2

Схема взаимодействия клиента и сервера

Схема взаимодействия клиента и сервера

Слайд 3

Пользователь открыв приложение (клиент) посылает GET  запрос на сервер за виджетом используя

Пользователь открыв приложение (клиент) посылает GET запрос на сервер за виджетом используя
защищенное соединение . Набор шифроф TLSv1.2 на 50305 порт определен протоколом HTTP/2.0 и вшитым SSL сертификатом (используют ранее выбранный комплект шифров для согласования безопасного соединения)
Прокси сервер определяет из какого региона исходит запрос, Китай или Не Китай
Определив , что запрос исходит не из Китая - прокси передает запрос в базу данных сервера Мир
Сервер Мир из Базы Данных 1 отдает виджет клиенту.

Пример:
Обьект - виджет, регион - не Китай :

Пример: TLS _ECDHE_ RSA _ WITH_AES_128_GCM _ SHA256
TLS - протокол
ECDHE - во время обмена ключи будут заменены эфемерной кривой Diffie Hellman (используется защищенный от прослушки канал).
RSA - алгоритм аутентификации (клиент отсылает открытый ключ - у сервера для расшифровки есть свой закрытый ключ)
AES_128_GCM - алгоритм массового шифрования
SHA-256 - алгоритм хеширования

Слайд 4

Компьютерные сети

Участники :
клиент - мобильное приложение Themify, порт процессу приложения на

Компьютерные сети Участники : клиент - мобильное приложение Themify, порт процессу приложения
девайсе назначается ОС, например 57597
сервер - https://aiby.mobi:50305, где https://aiby.mobi - доменное имя хоста, 50305- порт.
Пояснение работы приложения на хосте 1 (клиент)по уровням:
Прикладной
DNS - клиент отправляет запрос к DNS серверу, для того чтобы по доменному имени https://aiby.mobi получить IP адрес хоста
HTTP - клиент формирует и отправляет на сервер POST запрос (за json файлом , где прописаны параметры виджета)
URL - /widget/1.27/widgets/widgets.json
body -
{
"bgColor": "#ffffffff",
"defaultImage": "starWarsDarkSideSix",
"textColor": "#ffffffff",
"fontName": "Lena",
"type": "calendarRight",
"premiumType": "rewarded",
"category": ["Calendar"],
}
Транспортный
TCP (протокол с гарантированной доставкой) - формируется TCP сегмент = данные + заголовок транспортного уровня (имя хоста+порт+порядковый номер сегмента)
Сетевой
IP - формируется IP пакет = TCP сегмент + заголовок сетевого уровня (IP адреса отправителя/получателя)
Канальный
Wi-Fi - формируется кадр = IP пакет + заголовок канального уровня (MAC-адреса отправителя/получателя) + концевик (хеш-сумма (уникальный идентификатор файла, который при помощи специального программного обеспечения высчитывается компьютером путем определенных математических преобразований информации, содержащейся в нем))

Механизм работы на хосте 2 (сервер):
Канальный уровень
Wi-Fi - читается заголовок канального уровня, из кадра извлекается IP пакет
Сетевой уровень
IP - читается IP адрес, из IP пакета извлекается TCP сегмент
Транспортный уровень
TCP - читается порт, из TCP пакета извлекаются данные прикладного уровня
Прикладной уровень
HTTP - данные обрабатываются кодом сервера

маршрутизатор

Интернет

Локальная сеть

Сервер приложения
Клиент

Слайд 5

Пользователь создает кастомный виджет используя шаблон
Пользователь может выбрать/просмотреть свой ранее созданный виджет
Пользователь

Пользователь создает кастомный виджет используя шаблон Пользователь может выбрать/просмотреть свой ранее созданный
обновляет свой виджет видоизменяя его
Пользователь удаляет виджет

Действия с Виджетом

Слайд 7

В приложении используется REST архитектура, которая обеспечивает общение между клиентом и сервером

В приложении используется REST архитектура, которая обеспечивает общение между клиентом и сервером
с помощью https-запросов, передавая информацию от клиента в параметрах самих запросов, информацию от сервера – в теле ответа.
REST является архитектурным стилем, а не стандартом.
Для обмена данными иcпользуется текстовый формат обмена данными JSON.
В json содержится массив данных ( заключается в квадратные скобки ([ и ]), который включает в себя объекты (заключается в фигурные скобки ({ и }).
Объекты содержат разделенный запятой список пар- имя/значение.
Пара имя/значение состоит из имени поля, заключенного в двойные кавычки, за которым следует двоеточие (:) и значение поля, такие как:
цвет фона,
дефолтное изображение,
цвет текста,
стиль шрифта,
тип виджета,
премиальность виджета,
категория виджета.

API

{
"bgColor": "#ffffffff",
"defaultImage": "blackheart_0",
"textColor": "#ffffffff",
"fontName": "Dunnu",
"type": "time",
"premiumType": "rewarded",
"category": ["Time"],
}

Имя файла: Themify-Yuntsevich.pptx
Количество просмотров: 18
Количество скачиваний: 0