Вы находитесь на странице: 1из 6

Что такое клиент-серверная архитектура?

Клиент-серверная архитектура — это метод проектирования современных приложений (веб


или мобильное приложение, программа, которая используется в локальной сети).

Клиент (пользователь) — та часть ПО, которая установлена на компьютере пользователя.


Клиент отправляет какой-либо запрос, нажимая ту же кнопку в браузере -- формируется запрос,
который посредством транспорта (в данном случае у нас сеть служит транспортом этому
запросу и отправляет этот запрос на сервер). 

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

Сервер обрабатывает этот запрос от клиента и уже отдает ему ответ посредством транспорта по
той же сети. Запрос возвращается клиенту, где клиент уже видит результат этого ответа в
понятной для себя форме (клиент видит результат в виде каких-либо кнопок, картинок или как
страницу какого-либо веб-сайта). 

Вся информация о пользователе в 2-х уровневой клиент-серверной архитектуре хранится на


сервере. Вся логика (бэкэнд) на сервере и если, что-то с сервером случится, он “упадет” тогда
вся хранящаяся информация в его памяти может пропасть. 

3-х уровневая клиент-сервер архитектура

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

Клиент (пользователь) отправляет запрос на сервер, сервер принимает этот запрос и


обращается уже к серверу с базой данных о запросе информации об этом конкретном
пользователе. 

Например, к операционисту банка приходит клиент и операционист отправляет запрос на


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

Многоуровневая клиент-сервер архитектура

У нас может быть высоконагруженное приложение, например какая-либо социальная сеть, там
сотни тысяч серверов и в этом случае у нас работает балансировщик.

Клиент отправляет запрос, балансировщик ловит этот запрос и отправляет его на менее
нагруженный сервер — эта схема называется схема горячего резерва. 

Схема холодного резерва это когда сервер 1 перестает работать, из-за технических неполадок
(“упал”), тогда сервер 2 включается в работу. 

Сервера обращаются к базе данных, которая получая возвращает информацию к серверу, а


сервер возвращает информацию клиенту. 

Клиент эта та часть ПО, которая работает у нашего пользователя, к её работе минимальные
требования по железу, что позволяет наше приложение распространить на широкий круг
пользователей. Сервер мощная машина на которой выполняется вся логика программы, весь
программный код. И база данных — это сервер с хранилищем на котором хранится вся
информация о пользователях.  

Что такое HTTP?

HTTPS – надстройка над протоколом, имеющий шифрование (особенно там где есть платежная
инфа, личная инфа). Он зашифрован, его сложнее взломать.
HTTP работает как протокол запроса-ответа между клиентом и сервером.
Модель TCP/IP – Network сетевой уровень – передача инфы в виде битов и байтов
Transport – TCP протокол (гарантия, что инфа дойдет до пользователя. Например почтовые
сервисы) и UDP протокол (не нужно убеждаться что инфа дошла до юзера, например как в
онлайн играх)
Атрибуты НТТР: Основная часть – служебная информация – версия – хост машина, т.е. сервер
на котором располагается наше приложение

Запросы НТТР:
Два часто используемых метода запроса-ответа между клиентом и сервером: Get и POST.

GET – предназначен для получения инфы с сервера

POST - Отправка данных для обработки в указанный ресурс

Передача
данных
происходит в
теле
запроса

Тело запроса
пустое, все
содержимое
находится в
ссылке
PUT – изменения инфы на сервере
DELETE – удаление инфы на сервере

http RESPONCE – версия протокола (1.9 а более новый 2.0 он быстрее), статус кода (1хх
информационные, 2хх успешные, 3хх сообщения о перенаправлении, 4хх ошибки на стороне
клиента, 5хх на стороне сервера), дата отправки ответа, инфа о сервере, полезная нагрузка (это
уже тело ответа)

Что такое API?

API (application programming interface) интерфейс программирований приложений. Простыми


словами это набор функций, который включает в себя саму операцию, которую выполняет API.
Данные на вход и данные на выход. 

Примеры использования API 

Например, мы сделали интернет магазин и хотим, что-то продавать. И чтобы самим не


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

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

Получается, мы знаем какую операцию мы хотим, мы подаём определённые данные на вход и


это API выдаёт нам данные на выход.

Вызов API 

Вызывать API можно несколькими способами:

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

API позволяет сократить затраты на тестирование. API включает в себя логику, например
авторизация на сайте, мы разрабатываем авторизацию на сайте, но у нас еще не готов
графический интерфейс (мы не можем через кнопку на сайте проверить, заполнить все поля),
но мы можем протестировать API без графического интерфейса. Это делается через
специальные программы, например Postman и тестировщик зная, как это всё работает может
без графического интерфейса протестировать API авторизации.  

Чтобы не тестировать API вручную можно настроить автотесты, чтобы например раз в час,
раз в сутки, раз в два дня эти автотесты автоматически выполнялись, всё то что мы написали в
Postman. Чаще всего используется язык Java Script. 

API можно вызвать косвенно. Это когда пользователь через графический интерфейс сам того не
подозревая вызывает API. Когда пользователь нажимает на кнопку “оплатить”, вызывается
платежная система, пользователь не знает, что это на самом деле другая программа
и вызывается API другой системы, пользователь просто видит на своем интерфейсе, как у него
происходит оплата. А на самом деле он вызывает API, нажимает на кнопку и подает входные
данные, номер своей карты, какую сумму он хочет заплатить. А уже API платежная система ему
отвечает успешная оплата либо нет. Он видит это у себя в графическом интерфейсе. 

Общение API

Когда API вызывается внутри системы это общение API называется local API, а когда у нас API
вызывается из другой системы, то это общение API называется remote API. Тестировщики чаще
всего сталкиваются именно с тестированием remote API, когда нужно вызвать API из другой
системы. 

IP, MAC, DNS

URL – уникальный адрес сайта, определяющий его местонахождение в интернете

URN - неизменяемая последовательность символов, определяющая только имя ресурса и не


говорит, как к нему подключаться

URI - уникальный идентификатор, который включает в себя URL и URN

URL https://olx.pl/ URN test/index.html (URI весь линк вместе)

IP адрес - уникальный сетевой адрес узла в комп сети, построенный по протоколу IP.
Представляет собой 32-битовое двоичное число либо 128-битовое двоичное число

Маска подсети – назначается одновременно вместе с тем когда назначется IP адрес.


Необходима для того чтобы определять границы подсети

Динамический IP адрес - назначается автоматически при подключении устройства к сети и


используется в течении ограниченного промежутка времени, до завершения сеанса
подключения

Статический IP адрес – всегда один


Мак адрес – физический адрес устройства, прописывается при производстве сетевой карты.
Мак адресов может быть столько, сколько есть сетевых карт на устройстве

DNS сервер - система доменных имен, который «переводит» каждый цифровой ip адрес на
понятное буквенное имя (домен). Например вместо гугл писать 192.22.11 – неудобно

HTML

HTML – язык разметки который используется для отображения веб-страниц. Он говорит о том,
какие элементы должны быть на странице и как должны отображаться для пользователя.
Единица информации – «tag», например выделение жирным шрифтом начинается тегом <b>
TEXT <через слеш этим тегом b/>
Тэг <img src=c/pic/lala.jpg/>
<a href=Google.com> Google /a>

Структура HTML документа:

<html> определение типа документа


<head> начало заголовка
служебная инфа для браузера, которую пользователь не видет
<head> конец заголовка
<body> начало тела документа
все что внутри body – на веб странице видет юзер. Это содержимое вебстраниц, видимое для
пользователя
<body> конец тела документа
</html> конец документа

Что такое тестирование API?

Тестирование API (Application Programming Interface) — это тестирование набора программных


функций и процедур (напр.Postman – тестировщик отправляет запросыс помощью которых
можно удалять/создавать/изменять сущности, получать инфу)
- Для API используется методика “белого ящика”
- Тестирование API производится именно группой тестирования, в отличие от Юнит-
тестирования(делают разработчики)

Для чего нужен DevTools Chrome?

Chrome DevTools — это набор инструментов, встроенных в браузер Google Chrome, для


создания и отладки сайтов. С их помощью можно просматривать исходный код сайта,
отлаживать работу frontend: HTML, CSS и JavaScript. Также DevTools позволяет проверять
сетевой трафик, быстродействие сайта и многое другое.
Вкладка Консоль повзоляет увидеть ошибки (красные), которые нужно репортить. Красных
ошибок при нагрузке сайта быть не должно, так же как и желтые. В идеале поле должно быть
пустым.
Сурсес – показывает с каких серверов загружается инфа помимо основного сайта.
Нетворк – показывает запросы, которые отправляются на сайт и ответы (медиа, js, css,
документы) – так же можно остановить загрузку кеша, сделать медленнее или быстрее
интернет, сайт оффлайн
Перфоманс – производительность нагрузки сайта (можно тестировать скорость загрузки)
Секьюрити – можно проверить защиненный ли протокол используется и изменить девайс на
мобильный формат

Какую структуру имеет веб-страница?

Веб-страница состоит из трёх частей: Информация о версии HTML, Шапка веб-страницы, в


которой содержится техническая информация ( <head> ), Тело веб-страницы ( <body> )

Вам также может понравиться