web-dev-qa-db-fra.com

REST services Web: synchrones ou asynchrones?

Quel est le comportement par défaut des services Web REST - synchrone ou asynchrone?
Si c'est synchrone alors pouvons-nous créer asynchrone?

25
Ajit

"Synchrone" ou "Asynchrone" est le comportement du client qui demande la ressource. Cela n'a rien à voir avec REST webservice, sa structure ou le serveur de support.

Comportement synchrone:

  • Le client construit une structure HTTP, envoie via la connexion socket.
  • Attend la réponse HTTP.

Comportement asychrone:

  • Le client construit la structure HTTP, envoie la demande et continue.
  • Il y a un autre thread qui attend sur le socket la réponse. Une fois la réponse arrivée, l'expéditeur d'origine est averti (généralement, en utilisant une structure de type rappel).
50
UltraInstinct

@Thrustmaster l'a bien expliqué. Je voulais juste ajouter un point pour le rendre plus simple.

Le service Web REST n'est rien d'autre qu'un appel HTTP. Vous faites une demande HTTP à une URL et obtenez une réponse HTTP. La façon de traiter la demande et la réponse est à la discrétion de l'appelant.

4
techuser soma

Les services REST n'ont rien à voir avec le fait d'être synchrones ou asynchrones.

Côté client: les clients appelant doivent prendre en charge asynchrone pour y parvenir comme AJAX dans le navigateur.

Côté serveur: environnement multi-thread/non bloquant IO sont utilisés pour obtenir un service asynchrone.

3
Subir Kumar Sao

Je pense que cela pourrait vous aider à comprendre les services Web RESTful en Java:


Vous pouvez contrôler que le client est synchrone ou asynchrone du côté client. Un exemple - en utilisant AJAX .

3
add-semi-colons

Oui, vous pouvez avoir un service Web asynchrone et synchrone. Vous pouvez utiliser n'importe quel framework comme Restlet, JAXB, JAX-RS.

1
Sunil Gulabani