Hvad er en statsløs server?


Bedste svar

Stateless betyder, at den ikke har nogen tilstand.

Lad os f.eks. Tage en webserver. Det kan være statefult eller statsløst.

Stateful vil betyde, at serveren gemmer nogle sessionsoplysninger for at identificere en bruger over flere efterfølgende anmodninger. Hvis sessionen er gyldig, ville anmodningerne lykkes.

Statsløs ville være det modsatte. Serveren gemmer ikke nogen tilstand, det vil sige sessionsoplysninger for at identificere brugeren over flere efterfølgende anmodninger. Hver anmodning skal indeholde en eller anden måde at identificere brugeren på. En måde at opnå dette på er at bruge et token (for eksempel JSON web token eller oAuth). Dette token sendes med hver anmodning (normalt i anmodningsoverskrifterne).

Dette fjerner behovet for servere til at gemme sessionsdata, hvilket påvirker skalerbarheden, da det ellers kræver deling af sessionsdata, at flytte til flere servere. / p>

Svar

Har du nogensinde hørt om noget, der hedder sessioner i sammenhæng med internettet?

Jeg vil forklare ved ikke at generalisere konceptet, men holde mig til et mere almindeligt møde, som næsten alle os har haft på Internettet eller WWW.

Stateful servere opretholder brugerens tilstandsinformation i form af sessioner. Dette adskiller sig fra at logge ind på din konto på et websted. I dag opretholder de fleste af de HTTP-websteder, der er tilgængelige via WWW, brugerens sessionsinfo. Så under en sessionskørsel hører alle dine anmodninger til den særlige session, der blev åbnet, da du første gang besøgte en side på det pågældende websted. Generelt afsluttes en session kun, når du lukker din browser. Vedligeholdelse af sessioninfo hjælper webserveren med at tilbyde en personlig service. Desuden hjælper sessioner også med at overvåge samtidig webtrafik til enhver tid og tilbyder sikkerhedsfunktioner såsom at forbyde en ondsindet bruger, der forsøger at fjerne serveren ved at sende adskillige anmodninger til serveren (sandsynligvis ved hjælp af den samme etablerede session). Endelig bruges sessioner til at logge ind på hjemmesiden. Når du først logger ind på webstedet, gemmes din unikke identifikator af webservicen i den session, du åbnede, og for alle dine anmodninger derefter ved webserveren, at det er dig, der får adgang til tjenesten.

Statsløs servere på den anden side opretholder ingen tilstandsoplysninger for brugeren. Hver anmodning er fuldstændig uafhængig af den tidligere anmodning. Den mest almindelige statsløse arkitektur, der bruger HTTP, er REST (REpresentational State Transfer), der bruges til at designe web-APIer. Statsløse servere kan muligvis stadig identificere brugeren, hvis anmodningen til tjenesten inkluderer et unikt bruger-id, der tidligere blev tildelt brugeren. Men det bruger-id skal sendes i enhver anmodning i modsætning til tilfældet med Stateful-servere, der opretholder denne bruger-id i sessionen, og anmodningsdataene behøver ikke nødvendigvis at indeholde dette id.

Gennem dette svar siger jeg Jeg har forsøgt at understrege de store forskelle mellem de statefulde og statsløse servere. Forskellene kan udvides til mere generelle scenarier.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *