В с OSI layer может быть REST api

возможно, у меня есть глупый вопрос, но я пытаюсь классифицировать REST api между слоями OSI. (Вопрос интервью) Он должен быть между 5 и 7 слоями, говорит интервьюер: он находится в 5 слое, потому что он похож на RPC.

но на мой взгляд это не может быть на 5 сеансовый уровень, потому что истинный API-интерфейс REST, является лицом без гражданства, в отличие от сессии (http сессии), так что на мой взгляд он может быть размещен как протокол от 7 прикладной уровень, потому что это как HTTP (но почему не в 6?).

I поиск некоторые ресурсы в интернете, но я не нашел четкого ответа. (Я знаю, что размещенные протоколы в OSI не ясны), но, может быть, у вас есть хорошее мнение об этом?

4 ответов


архитектура REST является апатридом в том смысле, что сервер не хранит состояние клиента, но состояние объектов передается туда и обратно. В конце концов, REST означает Representational Передача. Итак, я думаю, что REST принадлежит слою 5-Session Layer, который обычно описывается как слой, где непрерывный обмен информацией в виде множественных передач назад и вперед между двумя узлами.

трудно понять, как REST API может принадлежать слою 6 или слою 7 модели OSI. Уровень представления обеспечивает согласование формы представления или синтаксиса передаваемых данных. Обычно такие механизмы, как кодирование символов (UTF, ASCII), шифрование и дешифрование данных являются частью уровня представления. Application layer предоставляет специальные службы приложений, такие как FTP, HTTP, Telnet, которые поддерживают процессы конечных пользователей.


REST не является протоколом для двух систем для связи. Отдых - это стиле. Это в основном поверх HTTP, уровень приложения.


Я согласен с Gowthamnvv. REST API будет находиться между прикладным уровнем и транспортным уровнем в случае модели OSI. Но он будет находиться на уровне приложения в случае модели TCP/IP, поскольку первые 3 уровня модели OSI более интегрированы в уровень приложения модели TCP/IP, за исключением некоторых функций сеанса, которые выполняются транспортным уровнем в случае TCP/IP.


Не позволяйте заголовку "сеанс" слоя 5 запутать вас. Остальное квадратно слой 7. Что находится ниже приложения? Операционная система. Заботится ли об отдыхе? Давайте посмотрим на Chrome > инструменты разработчика > сеть > заголовки для этой самой страницы (в окне инкогнито, потому что я вам не доверяю). Screenshot of Developer Tools Что делает этот отдых полностью лежит в заголовках HTTP, которые вы видите здесь. Делает ли операционная система что-нибудь с любым из этого, кроме доставки его в Chrome? Нет это не так. REST-это протокол на уровне приложения.