Модель OSI - это описание уровней и какие протоколы используются на этих уровнях.
UDP - транспортный протокол без подтверждения доставки;
Так как нам не всегда нужно подтверждение доставки и не важна точность данных, например, разговор по скайпу, прослушивание музыки.
TCP - транспортный протокол с подтверждением доставки;
Например, открытие страницы в интернет - если что то не дойдет, то поедет верстка, отправка письма - если что то потеряется, то будет потерян смысл пиисьма, отправка файла и т.д.
Если смотреть на процесс открытия web-страницы в интернете то это будет выглядеть так:
если смотреть с физического уровня, то мы подключены к интернету по витой паре или радиоканалу(wi-fi);
если с канального уровня, то у wi-fi есть стандарт 802.11g 802.11ab мы подкючаемся по нему;
с точки зрения сетевого уровня, у нас ip адресация - откуда и куда нужно отправить информацию;
с точки зрения транспортного уровня, http работает по TCP, проверка целостности данных;
сеансовый уровень не используется;
с точки зрения представления мы отправили наш запрос в виде текста (ASCII - текст);
с точки зрения прикладного уровня, мы используем HTTP;
TCP/IP - название стека протоколов
Чек-лист API тестов Корректность структуры данных POST запросы Заполнены все поля валидными данными Заполнены только обязательные поля Заполнены не все обязательные поля Не заполнено ни одно поле Валидация данных в полях (корректные и некорректные данные) Пустой JSON Дата создания объекта GET запросы Пустой список (если возможно) Заполненный список Пагинация в списке (limit, offset) Получение списка с ограничением на количество записей Получение списка начиная с указанного номера В случае передачи параметров с некорректным значением возвращается 400 с описанием ошибки в теле ответа При отрицательном offset список пользователей возвращается начиная с первой позиции При несуществующем offset возвращается пустой список пользователей Сортировка списка Запрос данных по валидному ID, проверка возвращения корректных данных Запрос данных по несуществующему ID, но в валидном формате Запрос данных по невалидному ID PUT запросы Обновление с корректными данными Обновление по несуществующему ID Обновление по невалидному ID Валидация полей (корректные и некорректные данные) Частичное обновление (в JSON присутствуют не все поля) DELETE запросы Удаление существующего объекта Удаление уже удаленного объекта Удаление по несуществующему ID Удаление по невалидному ID Удаление и повторное добавление такой же сущности (если есть уникальные поля) Проверка статусов ответов Проверка всех возможных ошибок Остальные специфичные проверки в случае сложной логики