Протокол без гражданства является протоколом связи , в котором приемник не должен сохранить сеанс состояния из предыдущих запросов. Отправитель передает соответствующее состояние сеанса получателю таким образом, чтобы каждый запрос можно было понять изолированно, то есть без ссылки на состояние сеанса из предыдущих запросов, сохраненных получателем. [1]
Напротив, протокол с отслеживанием состояния - это протокол связи, в котором получатель может сохранять состояние сеанса из предыдущих запросов.
В компьютерных сетях примеры протоколов без сохранения состояния включают Интернет-протокол (IP), который является основой Интернета , и протокол передачи гипертекста (HTTP), который является основой Всемирной паутины . Примеры протоколов с отслеживанием состояния включают протокол управления передачей (TCP) и протокол передачи файлов (FTP).
Протоколы без сохранения состояния улучшают видимость, надежность и масштабируемость. Видимость улучшается, поскольку системе мониторинга не нужно выходить за рамки одного запроса, чтобы определить его полную природу. Повышается надежность, поскольку упрощается восстановление после частичных отказов. Масштабируемость улучшена, поскольку отсутствие необходимости сохранять состояние сеанса между запросами позволяет серверу быстро освобождать ресурсы и еще больше упрощает реализацию.
Недостатком протоколов без сохранения состояния является то, что они могут снизить производительность сети из-за увеличения количества повторяющихся данных, отправляемых в серии запросов, поскольку эти данные нельзя оставить на сервере и использовать повторно.
Примеры
HTTP - сервер может понять каждый запрос в изоляции. [2]
Сравните это с традиционным FTP- сервером, который проводит интерактивный сеанс с пользователем. Во время сеанса пользователю предоставляется средство для аутентификации и установки различных переменных (рабочий каталог, режим передачи), которые хранятся на сервере как часть состояния сеанса.
Стекирование уровней протокола без сохранения состояния и с отслеживанием состояния
Между различными уровнями протокола могут быть сложные взаимодействия между протоколами с сохранением состояния и без него. Например, HTTP, протокол без сохранения состояния, накладывается на TCP , протокол с отслеживанием состояния, который накладывается на IP , другой протокол без состояния, который маршрутизируется в сети, которая использует BGP , другой протокол с отслеживанием состояния, для управления IP. пакеты передаются по сети.
Такое наложение слоев продолжается даже выше HTTP. В качестве обходного пути для отсутствия сохраняемого состояния сеанса HTTP-серверы реализуют различные методы управления сеансом [3], обычно используя идентификатор сеанса в HTTP-cookie, ссылающийся на состояние сеанса, хранящееся на сервере, эффективно создавая протокол с отслеживанием состояния поверх HTTP. . [4] HTTP-файлы cookie нарушают архитектурный стиль REST, потому что даже без ссылки на состояние сеанса, хранящееся на сервере, они не зависят от состояния сеанса (они влияют на предыдущие страницы того же веб-сайта в истории браузера) и не имеют определенной семантики. [5]
Смотрите также
Рекомендации
- ^ Филдинг, Рой (2000). «3.4.3 Клиент-Сервер без сохранения состояния (CSS)» . Архитектурные стили и проектирование сетевых архитектур программного обеспечения (докторская диссертация). Калифорнийский университет в Ирвине. OCLC 45706361 . Проверено 18 мая 2021 .
- ^ «RFC 7230 - Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация» . ietf.org . Проверено 20 августа 2015 года .
- ^ «Рассмотрены методы управления сеансом» . C печений биты . Торонто. Архивировано 13 февраля 2019 года . Проверено 12 апреля 2011 .
Следующий материал предназначен для ознакомления читателя с различными методами, которые разработчики использовали для реализации отслеживания сеансов в Интернете. В дополнение к недостаткам, которые были замечены при использовании, упоминаются основные рабочие характеристики каждого метода. Дополнительную информацию об управлении сеансом можно найти в Интернете. […]
- ^ Двайер, Гарет (18 ноября 2020 г.). «Архитектура с сохранением состояния и без сохранения состояния» . Виртуозный .
- ^ Филдинг, Рой (2000). «6.3.4.2 Файлы cookie» . Архитектурные стили и проектирование сетевых архитектур программного обеспечения (докторская диссертация). Калифорнийский университет в Ирвине. OCLC 45706361 . Проверено 24 мая 2021 .