Nejlepší odpověď
Bez státní příslušnosti znamená, že nemá žádný stav.
Vezměme si například webový server. Může to být stavové nebo bez státní příslušnosti.
Stavové by znamenalo, že server ukládá některé informace o relaci, aby identifikoval uživatele na základě několika následných požadavků. Pokud je relace platná, požadavky by byly úspěšné.
Bez státní příslušnosti by byl opak. Server by neukládal žádný stav, tj. Informace o relaci k identifikaci uživatele na základě několika následných požadavků. Každá žádost by měla obsahovat určitý způsob identifikace uživatele. Jedním ze způsobů, jak toho dosáhnout, je použít token (například webový token JSON nebo oAuth). Tento token by byl odeslán s každým požadavkem (obvykle v záhlavích požadavku).
Tím se odstraní potřeba serverů uchovávat data relace, což ovlivňuje škálovatelnost, protože přesun na více serverů jinak vyžaduje sdílení dat relace.
Odpověď
Už jste někdy slyšeli o něčem, co se v kontextu webu nazývá „relace“?
Vysvětlím to tak, že nebudu zobecňovat koncept, ale držím se častější setkání, které jsme téměř všichni měli na internetu nebo WWW.
Stavové servery udržují informace o stavu uživatele ve formě relací. To se liší od „přihlašování k účtu“ na webu. V dnešní době většina webů HTTP přístupných prostřednictvím WWW udržuje informace o relaci uživatele. Během běhu relace tedy všechny vaše požadavky patří konkrétní relaci, která byla otevřena při první návštěvě stránky na tomto webu. Obecně je relace ukončena pouze po zavření prohlížeče. Údržba informací o relaci pomáhá webovému serveru nabízet personalizované služby. Kromě toho relace také pomáhají monitorovat souběžný webový provoz v jakémkoli okamžiku, nabízejí bezpečnostní funkce, jako je například zakázání škodlivého uživatele, který se pokouší zničit server zasláním mnoha požadavků na server (pravděpodobně pomocí stejné zavedené relace). Nakonec se relace používají k „přihlášení“ na web. Jakmile se přihlásíte na web, váš jedinečný identifikátor uloží webová služba v relaci, kterou jste otevřeli, a pro všechny vaše další požadavky webový server ví, že jste to vy, kdo ke službě přistupujete.
Bez státní příslušnosti servery na druhé straně neudržují žádné informace o stavu uživatele. Každý požadavek je zcela nezávislý na předchozím požadavku. Nejběžnější bezstavová architektura, která používá HTTP, je REST (REpresentational State Transfer), který se používá k návrhu webových API. Bezstavové servery mohou být stále schopny identifikovat uživatele, pokud požadavek na službu obsahuje jedinečné ID uživatele, které bylo uživateli dříve přiděleno. Toto ID uživatele však bude nutné předat v každém požadavku, na rozdíl od stavových serverů, které udržují toto ID uživatele v relaci a data požadavku nemusí toto ID nutně obsahovat.
Prostřednictvím této odpovědi I Pokusili jsme se zdůraznit hlavní rozdíly mezi stavovými a bezstavovými servery. Rozdíly lze rozšířit na obecnější scénáře.