Клиент-сервер, REST, SOAP Flashcards
Что такое клиент-серверная архитектура?
Это архитектура, в которой сетевая нагрузка распределяется между Поставщиками услуг, называемыми Серверами, и Заказчиками услуг, называемыми Клиентами.
Что такое клиент? Что может выступать в его роли?
Клиент - это приложение, которое выполняет отправку запроса и обрабатывает ответы.
В роли клиента может выступать веб-браузер(тонкий клиент), 1с бухгалтерия, онлайн-игры.
Какие протоколы передачи данных знаешь?
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
Что такое HTTP?
HTTP - протокол передачи данных,изначально предназначенный для передачи гипертекстовых документов, т.е. документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам. Используется для обмена данными между пользовательским приложением и веб-сервером.
Что такое API?
Это контракт, который предоставляет программа. Данный контракт описывает взаимодействие одной программы с другими.
Как расшифровывается CRUD?
Create, Read, Update, Delete - post, get, put, delete
Что такое REST, SOAP? В чем разница?
SOAP - это протокол обмена структурированными сообщениями в распределенной вычислительной среде.
REST - архитектурный стиль, с помощью которого описывается структура передачи информации и веб-сервисов. К нему не прилагаются сложные файлы, нет WSDL(язык описания веб-сервисов и доступа к ним, основанных на Xml), меньше требований.
Какие есть HTTP-методы?
GET - запрашивает представление ресурса
HEAD - запрашивает представление ресурса но без тела запроса
POST - отправка сущностей к определенному ресурсу
PUT - заменить все текущее представление ресурса данными из запроса
DELETE - удаляет указанный ресурс
PATCH - частичное изменение ресурса
CONNECT - “тоннель” к серверу, определенному ресурсу
OPTIONS - описание параметров соединения с ресурсом
TRACE - вызов возвращаемого тестового сообщения с ресурса.
Из чего состоит HTTP запрос и ответ?
HTTP-запрос - Строка запроса, заголовки, тело сообщения
HTTP-ответ - Строка состояния(код состояния и пояснение к коду), поля заголовка, дополнительное тело сообщения.
Какие знаете форматы передачи данных?
XML - это язык разметки, а не язык программирования, который имеет теги для определения элементов.
JSON - текстовый формат обмена данными, основанный на JavaScript.
YAML - «дружественный» формат сериализации данных, концептуально близкий к языкам разметки, но ориентированный на удобство ввода-вывода типичных структур данных многих языков программирования.
Какие отличия между XML и JSON?
XML - это язык разметки, а не язык программирования, который имеет теги для определения элементов.
Может выполнять обработку и форматирование документов и объектов.
Громоздкий и медленный синтаксический анализ, что приводит к замедлению передачи данных.
Поддерживает множество сложных типов данных, включая диаграммы, изображения и другие непримитивные типы данных.
JSON - это просто формат, написанный на JavaScript.
Не выполняет никакой обработки или вычислений.
Очень быстро, поскольку размер файла значительно мал, более быстрый синтаксический анализ с помощью движка JavaScript и, следовательно, более быстрая передача данных.
JSON поддерживает только строки, числа, массивы, логические значения и объекты.Объекты могут содержать только примитивные типы.
Чем отличается GET от POST?
GET - запрашивает представление ресурса
POST - отправка сущностей к определенному ресурсу
Какая разница между методами PUT и PATCH? POST и PUT?
PATCH - частичное изменение ресурса
PUT - заменить все текущее представление ресурса данными из запроса
POST - отправка сущностей к определенному ресурсу
Какие статус-коды бывают?
Информационные(100-199)
Успешные (200-299)
Перенаправления (300-399)
Клиентские ошибки (400-499)
Серверные ошибки (500-599)
Может ли сервер отправить код 400, если проблема на его стороне?
Нет
Что можно проверять при тестировании API?
- Корректность кода состояния HTTP. Например, создание ресурса должно возвращать 201 CREATED, а запрещенные запросы должны возвращать 403 FORBIDDEN и т. Д.
- Полезную нагрузку ответа. Проверьте правильность тела JSON, имен, типов и значений полей ответа, в том числе в ответах на ошибочные запросы.
- Заголовки ответа. Заголовки HTTP-сервера влияют как на безопасность, так и на производительность.
- Правильность состояния приложения. Это необязательно и применяется в основном к ручному тестированию или когда пользовательский интерфейс или другой интерфейс можно легко проверить.
- Базовую работоспособность. Если операция была завершена успешно, но заняла неоправданно много времени, тест не пройден.
Какие знаешь снифферы?
Снифферы - это инструменты, позволяющие перехватывать, анализировать и модернизировать все запросы, которые через них проходят. Они полезны, когда из потока нужно извлечь какие-либо сведения или создать нужный ответ сервера.
- Charles Proxy
- WinSniffer — обладает множеством разных настраиваемых режимов, способен перехватывать пароли различных сервисов;
- CommView — обрабатывает данные, передаваемые по локальной сети и в интернет, собирает сведения, связанные с модемом и сетевой картой, и подвергает их декодированию, что дает возможность видеть полный список соединений в сети и статистические сведения по IP. Перехваченная информация сохраняется в отдельный файл для последующего анализа, а удобная система фильтрации позволяет игнорировать ненужные пакеты и оставляет только те, которые нужны злоумышленнику;
- ZxSniffer — компактный сниффер, известный малым объемом (0,3 МБ);
- SpyNet — весьма популярный анализатор, в основную функциональность которого входят перехват трафика и декодирование пакетов данных;
- IRIS — имеет широкие возможности фильтрации, может перехватывать пакеты с заданными ограничениями.
Что такое тонкий и толстый клиент?
Тонкий клиент - компьютер или программа-клиент, которая переносит все или большую часть задач по обработке информации на сервер.
Толстый клиент - приложение, обеспечивающее расширенную функциональность независимо от центрального сервера