Usługi sieciowe RESTful - bezpaństwowość

Zgodnie z architekturą REST, usługa sieci Web zgodna z REST nie powinna utrzymywać stanu klienta na serwerze. To ograniczenie nazywa się bezpaństwowością. Klient jest odpowiedzialny za przekazanie kontekstu do serwera, a następnie serwer może przechowywać ten kontekst w celu przetworzenia dalszych żądań klienta. Na przykład sesja utrzymywana przez serwer jest identyfikowana przez identyfikator sesji przekazany przez klienta.

Usługi sieciowe RESTful powinny przestrzegać tego ograniczenia. Widzieliśmy to w rozdziale RESTful Web Services - Methods , że metody usług sieciowych nie przechowują żadnych informacji od klienta, z którego zostały wywołane.

Consider the following URL −

https: // localhost: 8080 / UserManagement / rest / UserService / users / 1

Jeśli trafisz na powyższy adres URL za pomocą przeglądarki lub klienta opartego na Javie lub Postman, wynikiem zawsze będzie XML użytkownika, którego identyfikator wynosi 1, ponieważ serwer nie przechowuje żadnych informacji o kliencie.

<user> 
   <id>1</id> 
   <name>mahesh</name> 
   <profession>1</profession> 
</user>

Zalety bezpaństwowości

Oto zalety bezpaństwowości w usługach sieciowych RESTful -

  • Usługi sieci Web mogą niezależnie traktować każde żądanie metody.

  • Usługi internetowe nie muszą obsługiwać poprzednich interakcji klienta. Upraszcza projektowanie aplikacji.

  • Ponieważ sam HTTP jest protokołem bezstanowym, usługi sieciowe RESTful bezproblemowo współpracują z protokołami HTTP.

Wady bezpaństwowości

Oto wady bezpaństwowości w RESTful Web Services -

  • Usługi internetowe muszą uzyskać dodatkowe informacje w każdym żądaniu, a następnie je zinterpretować, aby uzyskać stan klienta, na wypadek, gdyby trzeba było zająć się interakcjami z klientem.