Протокол без сохранения состояния

редактировать
Протокол связи, в котором информация не сохраняется ни отправителем, ни получателем

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

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

Примеры протоколов без сохранения состояния включают Интернет-протокол (IP), который является основой для Интернет, и Протокол передачи гипертекста ( HTTP), который является основой обмена данными для World Wide Web.

. Дизайн без сохранения состояния упрощает архитектуру сервера, поскольку нет необходимости динамически выделять хранилище для обработки текущих разговоров. Если сеанс клиента завершается в середине транзакции, никакая часть системы не должна нести ответственность за очистку текущего состояния сервера. Недостатком безгражданства является то, что может потребоваться включать дополнительную информацию в каждый запрос, и эта дополнительная информация должна будет интерпретироваться сервером.

Содержание

  • 1 Примеры
  • 2 Стекирование уровней протоколов без сохранения и с сохранением состояния
  • 3 См. Также
  • 4 Ссылки

Примеры

Пример протокола без сохранения состояния: HTTP, что означает, что каждое сообщение запроса можно рассматривать изолированно.

Сравните это с традиционным сервером FTP, который проводит интерактивный сеанс с пользователем. Во время сеанса пользователю предоставляются средства для аутентификации и установки различных переменных (рабочий каталог, режим передачи), которые хранятся на сервере как часть состояния пользователя.

Стекирование уровней протоколов с сохранением и без сохранения состояния

Между различными уровнями протокола могут существовать сложные взаимодействия между протоколами с сохранением состояния и без состояния. Например, HTTP является примером протокола без сохранения состояния, расположенного поверх TCP, протокола с отслеживанием состояния, который накладывается поверх IP, другого протокола без состояния, который маршрутизируется на сеть, которая использует BGP, другой протокол с отслеживанием состояния, для направления IP-пакетов, передаваемых по сети.

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

См. Также

Ссылки

  1. ^«RFC 7230 - Протокол передачи гипертекста (HTTP / 1.1): синтаксис сообщений и маршрутизация». ietf.org. Проверено 20 августа 2015 г.
  2. ^«Рассмотрены методы управления сеансом». Биты cookie C. Торонто. Архивировано из оригинала 13.02.2019. Проверено 12 апреля 2011. Следующий материал предназначен для ознакомления читателя с различными методами, которые разработчики использовали для реализации отслеживания сеансов в Интернете. В дополнение к недостаткам, которые наблюдались при использовании, указаны основные рабочие характеристики каждого метода. Дополнительную информацию об управлении сеансом можно найти в Интернете. […]
  • Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL, версия 1.3 или более поздняя.
Последняя правка сделана 2021-06-09 09:59:19
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте