Paras vastaus
Tilaton tarkoittaa, että sillä ei ole tilaa.
Otetaan esimerkiksi verkkopalvelin. Se voi olla tilaton tai valtioton.
Stateful tarkoittaa, että palvelin tallentaa joitain istuntotietoja tunnistaakseen käyttäjän useiden myöhempien pyyntöjen yhteydessä. Jos istunto on kelvollinen, pyynnöt onnistuvat.
Tilaton olisi päinvastoin. Palvelin ei tallenna mitään tilaa, eli istuntotietoja käyttäjän tunnistamiseksi useiden myöhempien pyyntöjen aikana. Jokaisessa pyynnössä tulisi olla jokin tapa tunnistaa käyttäjä. Yksi tapa saavuttaa se on käyttää tunnusta (esimerkiksi JSON-verkkotunnusta tai oAuthia). Tämä tunnus lähetetään jokaisen pyynnön mukana (yleensä pyynnön otsikoissa).
Tämä poistaa palvelinten tarpeen säilyttää istuntotiedot, mikä vaikuttaa skaalautuvuuteen, koska useisiin palvelimiin siirtyminen vaatii muuten istuntotietojen jakamisen.
Vastaus
Oletko koskaan kuullut Internetin yhteydessä istunnoista kutsuttuja asioita?
Aion selittää, että en yleistä käsitettä, mutta pidän kiinni yleisempi kohtaaminen, jota melkein kaikki meistä ovat kokeneet Internetissä tai WWW: ssä.
Tilaiset palvelimet ylläpitävät käyttäjän tilatietoja istuntojen muodossa. Tämä eroaa ”kirjautumisesta tilillesi” verkkosivustolla. Nykyään suurin osa WWW: n kautta käytettävissä olevista HTTP-verkkosivustoista ylläpitää käyttäjän istuntotietoja. Joten istuntojakson aikana kaikki pyyntösi kuuluvat siihen istuntoon, joka avattiin, kun vierailit ensimmäisen kerran kyseisen verkkosivuston sivulla. Istunto lopetetaan yleensä vain, kun suljet selaimen. Istuntotietojen ylläpitäminen auttaa verkkopalvelinta tarjoamaan henkilökohtaisen palvelun. Lisäksi istunnot auttavat myös seuraamaan samanaikaista verkkoliikennettä milloin tahansa, tarjoavat turvaominaisuuksia, kuten kielletään haitallinen käyttäjä, joka yrittää kaataa palvelinta lähettämällä useita pyyntöjä palvelimelle (todennäköisesti käyttämällä samaa vakiintunutta istuntoa). Lopuksi istuntoja käytetään kirjautumiseen verkkosivustolle. Kun kirjaudut verkkosivustolle, verkkopalvelu tallentaa yksilöllisen tunnuksesi avaamallesi istunnolle, ja kaikki tämän jälkeen tekemäsi pyynnöt Web-palvelin tietää, että sinä käytät palvelua.
Tilaton palvelimet eivät toisaalta ylläpidä mitään tilatietoja käyttäjälle. Jokainen pyyntö on täysin riippumaton edellisestä pyynnöstä. Yleisin HTTP: tä käyttävä valtioton arkkitehtuuri on REST (REpresentational State Transfer), jota käytetään web-sovellusliittymien suunnitteluun. Tilattomat palvelimet saattavat silti pystyä tunnistamaan käyttäjän, jos palvelupyyntö sisältää yksilöllisen käyttäjätunnuksen, joka on aiemmin osoitettu käyttäjälle. Mutta tämä käyttäjätunnus on lähetettävä jokaisessa pyynnössä, toisin kuin tilatietopalvelimissa, jotka ylläpitävät tätä käyttäjätunnusta istunnossa, ja pyyntötietojen ei tarvitse välttämättä sisältää tätä tunnusta.
Tämän vastauksen kautta minä ” Olemme yrittäneet korostaa suuria eroja valtion ja valtiottomien palvelinten välillä. Erot voidaan laajentaa yleisempiin skenaarioihin.