Клиент-сервер, REST, SOAP Flashcards

1
Q

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

A

Это архитектура, в которой сетевая нагрузка распределяется между Поставщиками услуг, называемыми Серверами, и Заказчиками услуг, называемыми Клиентами.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Что такое клиент? Что может выступать в его роли?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Какие протоколы передачи данных знаешь?

A

IP — Internet Protocol
TCP/IP — Transmission Control Protocol/Internet Protocol
UDP — User Datagram Protocol
FTP — File Transfer Protocol
DNS
HTTP — HyperText Transfer Protocol
NTP — Network Time Protocol
SSH — Secure SHell

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое HTTP?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое API?

A

Это контракт, который предоставляет программа. Данный контракт описывает взаимодействие одной программы с другими.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как расшифровывается CRUD?

A

Create, Read, Update, Delete - post, get, put, delete

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое REST, SOAP? В чем разница?

A

SOAP - это протокол обмена структурированными сообщениями в распределенной вычислительной среде.
REST - архитектурный стиль, с помощью которого описывается структура передачи информации и веб-сервисов. К нему не прилагаются сложные файлы, нет WSDL(язык описания веб-сервисов и доступа к ним, основанных на Xml), меньше требований.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Какие есть HTTP-методы?

A

GET - запрашивает представление ресурса
HEAD - запрашивает представление ресурса но без тела запроса
POST - отправка сущностей к определенному ресурсу
PUT - заменить все текущее представление ресурса данными из запроса
DELETE - удаляет указанный ресурс
PATCH - частичное изменение ресурса
CONNECT - “тоннель” к серверу, определенному ресурсу
OPTIONS - описание параметров соединения с ресурсом
TRACE - вызов возвращаемого тестового сообщения с ресурса.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Из чего состоит HTTP запрос и ответ?

A

HTTP-запрос - Строка запроса, заголовки, тело сообщения
HTTP-ответ - Строка состояния(код состояния и пояснение к коду), поля заголовка, дополнительное тело сообщения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Какие знаете форматы передачи данных?

A

XML - это язык разметки, а не язык программирования, который имеет теги для определения элементов.
JSON - текстовый формат обмена данными, основанный на JavaScript.
YAML - «дружественный» формат сериализации данных, концептуально близкий к языкам разметки, но ориентированный на удобство ввода-вывода типичных структур данных многих языков программирования.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Какие отличия между XML и JSON?

A

XML - это язык разметки, а не язык программирования, который имеет теги для определения элементов.
Может выполнять обработку и форматирование документов и объектов.
Громоздкий и медленный синтаксический анализ, что приводит к замедлению передачи данных.
Поддерживает множество сложных типов данных, включая диаграммы, изображения и другие непримитивные типы данных.

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Чем отличается GET от POST?

A

GET - запрашивает представление ресурса
POST - отправка сущностей к определенному ресурсу

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какая разница между методами PUT и PATCH? POST и PUT?

A

PATCH - частичное изменение ресурса
PUT - заменить все текущее представление ресурса данными из запроса
POST - отправка сущностей к определенному ресурсу

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Какие статус-коды бывают?

A

Информационные(100-199)
Успешные (200-299)
Перенаправления (300-399)
Клиентские ошибки (400-499)
Серверные ошибки (500-599)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Может ли сервер отправить код 400, если проблема на его стороне?

A

Нет

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что можно проверять при тестировании API?

A
  • Корректность кода состояния HTTP. Например, создание ресурса должно возвращать 201 CREATED, а запрещенные запросы должны возвращать 403 FORBIDDEN и т. Д.
  • Полезную нагрузку ответа. Проверьте правильность тела JSON, имен, типов и значений полей ответа, в том числе в ответах на ошибочные запросы.
  • Заголовки ответа. Заголовки HTTP-сервера влияют как на безопасность, так и на производительность.
  • Правильность состояния приложения. Это необязательно и применяется в основном к ручному тестированию или когда пользовательский интерфейс или другой интерфейс можно легко проверить.
  • Базовую работоспособность. Если операция была завершена успешно, но заняла неоправданно много времени, тест не пройден.
17
Q

Какие знаешь снифферы?

A

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

  • Charles Proxy
  • WinSniffer — обладает множеством разных настраиваемых режимов, способен перехватывать пароли различных сервисов;
  • CommView — обрабатывает данные, передаваемые по локальной сети и в интернет, собирает сведения, связанные с модемом и сетевой картой, и подвергает их декодированию, что дает возможность видеть полный список соединений в сети и статистические сведения по IP. Перехваченная информация сохраняется в отдельный файл для последующего анализа, а удобная система фильтрации позволяет игнорировать ненужные пакеты и оставляет только те, которые нужны злоумышленнику;
  • ZxSniffer — компактный сниффер, известный малым объемом (0,3 МБ);
  • SpyNet — весьма популярный анализатор, в основную функциональность которого входят перехват трафика и декодирование пакетов данных;
  • IRIS — имеет широкие возможности фильтрации, может перехватывать пакеты с заданными ограничениями.
18
Q

Что такое тонкий и толстый клиент?

A

Тонкий клиент - компьютер или программа-клиент, которая переносит все или большую часть задач по обработке информации на сервер.

Толстый клиент - приложение, обеспечивающее расширенную функциональность независимо от центрального сервера