Jakie są korzyści płynące z bezpaństwowej aplikacji internetowej?

Wygląda na to, że niektórzy architekci www chcą mieć bezpaństwową aplikację internetową. Czy to oznacza w zasadzie nie przechowywanie sesji użytkownika? A może chodzi o coś więcej?

Jeśli jest to tylko zapis sesji użytkownika, jakie są korzyści z tego, że tego nie robisz?

Author: Genadinik, 2011-04-04

2 answers

  1. zmniejsza zużycie pamięci . Wyobraź sobie, że google przechowuje informacje o sesji każdego ze swoich użytkowników
  2. łatwiejsze wsparcie farm serwerów . Jeśli potrzebujesz danych sesji i masz więcej niż 1 serwer, potrzebujesz sposobu synchronizacji danych sesji między serwerami. Zwykle odbywa się to za pomocą bazy danych.
  3. Zmniejsz problemy z wygaśnięciem sesji . Czasami kończące się sesje powodują problemy, które trudno znaleźć i przetestować. Aplikacje bezsesyjne nie cierp na to.
  4. linkowalność Url . Niektóre witryny przechowują identyfikator tego, na co użytkownik patrzy w sesjach. Uniemożliwia to użytkownikom po prostu skopiowanie i wklejenie adresu URL lub wysłanie go znajomym.

Uwaga: dane sesji są tak naprawdę danymi buforowanymi. Do tego należy go stosować. Jeśli masz drogie zapytanie, które zostanie ponownie wykorzystane, zapisz je w sesji. Pamiętaj tylko, że nie możesz zakładać, że będzie tam, gdy spróbujesz go zdobyć później. Zawsze sprawdź, czy istnieje przed pobraniem.

 34
Author: tster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-25 18:06:26

Z perspektywy dewelopera, bezpaństwowość może pomóc uczynić aplikację łatwiejszą do utrzymania i łatwiejszą do pracy. Jeśli Wiem, że strona, nad którą pracuję, jest bezpaństwowa, nie muszę się martwić o to, że rzeczy są poprawnie zainicjowane w sesji przed załadowaniem konkretnej strony.

Z punktu widzenia użytkownika, bezpaństwowość pozwala na łączenie zasobów. Jeśli strona jest bezpaństwowa, to kiedy linkuję znajomego do tej strony, Wiem, że zobaczą to, co ja widzę.

Ze skalowania i perspektywy wydajności, patrz odpowiedź tsters.

 12
Author: Jamie Wong,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-04 14:27:49