Avertissement: je suis nouveau sur le RESTE de l'école de la pensée, et je suis en train d'envelopper mon esprit autour de lui.
Donc, je suis en train de lire cette page, Commune RESTE des Erreurs, et j'ai constaté que je suis complètement déconcerté par la section sur les sessions étant sans pertinence. C'est ce que la page me dit:
Il devrait y avoir aucun besoin pour un client "login" ou "démarrer une connexion." L'authentification HTTP est fait automatiquement à chaque message. Client les applications sont des consommateurs de des ressources, et non les services. Donc il n'y a rien pour vous connecter à! Nous allons dire que la réservation d'un vol sur un Service web REST. Vous ne créez pas un nouvelle "session" connexion à l' service. Plutôt vous demander de l'itinéraire créateur de l'objet" pour vous créer un nouveau l'itinéraire. Vous pouvez commencer à remplir les blancs, mais puis obtenir une totalement les différents composants d'ailleurs sur le web remplir certaines autres blancs. Il n'y a pas de session, donc il n'y a pas de problème de migration de l'état de session entre les clients. Il ya aussi pas de question de "l'affinité de session" dans le serveur (s'il y a encore de la charge questions d'équilibrage pour continuer).
Ok, je que HTTP authentification se fait automatiquement à chaque message, mais comment? Est le nom d'utilisateur/mot de passe envoyé avec chaque demande? N'est-ce pas simplement augmenter la surface d'attaque? Je me sens comme je suis partie manquante du puzzle.
Serait-il mauvais d'avoir un service REST, disons, /session
, qui accepte une requête GET, où vous seriez de passage à un nom d'utilisateur/mot de passe dans le cadre de la requête et retourne un jeton de session si l'authentification a réussi, qui puisse ensuite être transmis en même temps que les demandes ultérieures? Cela fait sens d'un point de vue, ou n'est-ce pas?