Je suis en train de mettre en place un service web REST qui doit simplement répondre par OUI ou NON, aussi vite que possible.
La conception d'un service HEAD semble être la meilleure façon de procéder, mais j'aimerais savoir si je vais vraiment gagner du temps par rapport à une requête GET.
Je suppose que j'obtiens que le flux de corps ne soit pas ouvert/fermé sur mon serveur (environ 1 milliseconde ?). Comme le nombre d'octets à renvoyer est très faible, est-ce que je gagne du temps dans le transport, dans le nombre de paquets IP ?
Merci d'avance pour votre réponse !
Edit :
Pour expliquer davantage le contexte :
- J'ai un ensemble de services REST qui exécutent certains processus, s'ils sont dans un état actif.
- J'ai un autre service REST qui indique l'état de tous ces premiers services.
Comme ce dernier service sera appelé très souvent par un très grand nombre de clients (un appel prévu toutes les 5 ms), je me demandais si l'utilisation d'une méthode HEAD pouvait constituer une optimisation intéressante ? Environ 250 caractères sont renvoyés dans le corps de la réponse. La méthode HEAD permet au moins de gagner le transport de ces 250 caractères, mais quel est cet impact ?
J'ai essayé d'évaluer la différence entre les deux méthodes (HEAD vs GET), en effectuant 1000 fois les appels, mais je ne vois aucun gain (< 1ms)...
3 votes
Cela dépend également de l'approche que vous utilisez côté serveur. En général, le serveur peut prendre le même temps pour traiter une requête GET ou HEAD, parce qu'il peut avoir besoin de connaître le corps final pour calculer le temps de réponse de la requête.
Content-Length
qui est une information importante dans la réponse à une demande HEAD. À moins qu'il n'existe une autre approche plus optimisée côté serveur, le seul avantage est que la bande passante est économisée et que le client n'a pas à analyser le corps de la réponse. En fait, les gains d'optimisation dépendent des implémentations du serveur et du client.