Протокол без стану () — це комунікаційний протокол, у якому приймач не зберігає стан сеансу від попередніх запитів. Відправник передає приймачу всю інформацію про стан сеансу таким чином, щоб кожен запит можна було зрозуміти окремо, без посилання на стан сеансу, збережений після попередніх запитів.
На противагу цьому, протокол зі станом () — це комунікаційний протокол, у якому приймач може зберігати стан сеансу від попередніх запитів.
У комп'ютерних мережах прикладами протоколів без стану є Internet Protocol (IP), що є основою Інтернету, та HTTP, який лежить в основі Всесвітньої павутини. Прикладами протоколів зі станом є TCP та FTP.
Протоколи без стану мають кращі властивості щодо прозорості, надійності та масштабованості. Прозорість покращується, оскільки системі моніторингу не потрібно аналізувати більше одного запиту, щоб повністю визначити його зміст. Надійність підвищується, оскільки це спрощує відновлення після збоїв, таких як втрата пакетів. Масштабованість покращується завдяки тому, що серверу не потрібно зберігати стан сеансу між запитами, що дозволяє швидко звільняти ресурси та додатково спрощує реалізацію. Недоліком протоколів без стану є те, що вони можуть знижувати продуктивність мережі через збільшення обсягу повторно передаваних даних у серії запитів, оскільки ці дані не зберігаються й не використовуються повторно на стороні приймача.
Поєднання протоколів різних типів Між протоколами зі станом і без стану на різних рівнях протокольного стеку можуть існувати складні взаємодії. Наприклад, HTTP — протокол без стану — працює поверх TCP, який є протоколом зі станом, а TCP, своєю чергою, працює поверх IP, іншого протоколу без стану, що маршрутизується мережею, яка використовує BGP — ще один протокол зі станом — для спрямування IP-пакетів мережею.
Таке нашарування рівнів продовжується навіть вище рівня HTTP. Як спосіб обійти відсутність збереженого стану сеансу, HTTP-сервери реалізують різні методи керування сеансами, зазвичай використовуючи ідентифікатор сеансу в HTTP cookie, який посилається на стан сеансу, що зберігається на сервері. Таким чином фактично створюється протокол зі станом поверх HTTP.
Див. також REST
Примітки