Potrzebuję wyjaśnienia. Czytałem o REST i budowałem aplikacje RESTful. Według wikipedii sam REST jest zdefiniowany jako Reprezentatywny transfer stanu . Dlatego nie rozumiem wszystkich tych bezpaństwowych piskląt, które wszyscy wyrzucają.
Z wikipedii:
W dowolnym momencie klient może przechodzić między stanami aplikacji lub „w spoczynku”. Klient w stanie spoczynku może wchodzić w interakcje z użytkownikiem, ale nie generuje obciążenia i nie zużywa pamięci na klienta na zestawie serwerów lub w sieci.
Czy tylko mówią, że nie używaj magazynu danych na poziomie sesji / aplikacji?
Rozumiem, że jednym z celów REST jest zapewnienie spójnego i dostępnego dostępu URI, na przykład, zamiast ukrywania żądań stronicowania w postach, dzięki czemu numer strony żądania jest częścią GET URI. Dla mnie to ma sens. Ale wygląda na to, że przesadza, mówiąc, że żadne dane na klienta (dane sesji) nigdy nie powinny być przechowywane po stronie serwera.
Co jeśli miałbym kolejkę wiadomości, a mój użytkownik chciał je przeczytać, ale gdy je czytał, chciał zablokować wiadomości nadawców przychodzące na czas jego sesji? Czy nie ma sensu przechowywać tego w miejscu po stronie serwera i pozwolić, aby serwer wysyłał tylko wiadomości (lub identyfikatory wiadomości), które nie zostały zablokowane przez użytkownika?
Czy naprawdę muszę wysyłać całą listę nadawców wiadomości, aby blokować za każdym razem, gdy żądam nowej listy wiadomości? Właściwa dla mnie lista wiadomości nie powinna / nie powinna nawet być publicznie dostępnym zasobem.
Znów próbuję to zrozumieć. Ktoś proszę wyjaśnić.
Aktualizacja:
Znalazłem pytanie o przepełnienie stosu, które ma odpowiedź, która nie do końca mnie prowadzi: jak zarządzać stanem w REST, który mówi, że ważny stan klienta powinien być przesyłany przy każdym żądaniu .... Ugg .. wydaje się dużo narzutów ... Czy to prawda?