Aller au contenu principal

4.2. Spécifier le comportement du serveur

4.2. Spécifier le comportement du serveur

Les exigences du serveur définissent ce que les implémentations doivent faire pour être conformes. Lors de la spécification du comportement du serveur, il est essentiel de définir clairement:

  • quelles requêtes le serveur doit accepter et quelles réponses il doit envoyer;

  • quel état le serveur est autorisé à conserver, le cas échéant, entre les requêtes (voir Section 4.10);

  • quelles ressources le serveur doit rendre disponibles et quelles sont leurs sémantiques; et

  • quels éléments de protocole (méthodes, codes d'état, champs d'en-tête et contenu) le serveur doit utiliser et comment.

Pour permettre à l'application d'évoluer, les spécifications DEVRAIENT permettre aux serveurs d'accepter de nouvelles formes de requêtes non explicitement spécifiées. Cela peut se manifester sous forme de contenu de requête supplémentaire, de nouveaux champs d'en-tête ou de nouveaux URI.

De même, les spécifications NE DEVRAIENT PAS interdire aux serveurs d'envoyer des codes d'état inattendus ou des champs d'en-tête supplémentaires dans les réponses, mais elles DEVRAIENT donner des indications sur la manière dont les clients sont censés les gérer (souvent, "ignorer ce que vous ne comprenez pas").