Considerare un'applicazione client come una sorta di macchina a stati giganti. Lo stato iniziale del client è uguale alla prima rappresentazione restituita dal server. I collegamenti nella rappresentazione restituita forniscono possibili "transizioni di stato".
Si pensi che esistono due tipi principali di collegamenti, passivi e attivi. I collegamenti passivi come <img>
e <link rel="stylesheet">
non provocano effettivamente una transizione di stato, ma semplicemente aumentano lo stato corrente. Collegamenti come <form>
e <a>
tuttavia sono collegamenti attivi e la causa di una transizione di stato. Dopo aver seguito uno di questi collegamenti, il nuovo stato client è uguale alla rappresentazione restituita, ovvero trasferimento di stato .
Se sei abituato a creare applicazioni client desktop tradizionali, troverai che questa è un'architettura radicalmente diversa. Non uno che è probabile che tu suoni durante la notte. Inizialmente questo approccio può sembrare molto limitante, ma se si considera che un'applicazione client può essere l'host di molte macchine a stati di esecuzione simultanea, si inizierà a capire che si può fare tutto ciò che si può usare usando un'architettura di oggetti remota e mantenere comunque le cose libere accoppiamento del browser web.
fonte
2011-01-06 00:27:48
vedere questa risposta al link http://stackoverflow.com/a/37659395/3762855 –
Prova anche la risposta a questo link: https://stackoverflow.com/a/37683965/3762855 –