Ouverture du forum d'entraide REST : Representational State Transfer
Le 2009-07-05 12:40:21, par Ricky81, Expert éminent sénior
Bonjour,
Ce forum se destine à vos questions touchant aux architectures REST (Representational State Transfer) et à la recherche de solutions techniques.
Il est complémentaire de certains forums techniques tournés vers des implémentations / frameworks particulier :
REST étant transverse aux différentes technologies / langages, si vous ne trouvez pas de forum dédié à un framework ou une technologie particulière, posez vos questions techniques dans le présent forum en attendant mieux
Toute suggestion et contribution est la bienvenue.
En complément : Ressources REST à consulter et télécharger
Ce forum se destine à vos questions touchant aux architectures REST (Representational State Transfer) et à la recherche de solutions techniques.
Il est complémentaire de certains forums techniques tournés vers des implémentations / frameworks particulier :
REST étant transverse aux différentes technologies / langages, si vous ne trouvez pas de forum dédié à un framework ou une technologie particulière, posez vos questions techniques dans le présent forum en attendant mieux
Toute suggestion et contribution est la bienvenue.
En complément : Ressources REST à consulter et télécharger
-
Tommy31Membre chevronnéJe me pose la question de la nécessité d'utiliser des Etags pour la gestion du changement dans les resources ?le 05/07/2009 à 17:52
-
LDDLMembre habituéheuu... c'est quoi un Etags ?le 07/07/2009 à 9:00
-
nicoramaEn attente de confirmation mailDixit Wikipedia :
The header is useful for intermediary devices that perform caching, as well as for client web browsers that cache results.
Je ne m'en occupe pas, c'est mal, mais c'est beaucoup de boulot, pas juste un header à remplir. Il faut définir quelles sont les resources appropriée, comment calculer le Etag sans risquer une catastrophe, avoir une stratégie sur la durée du cache... et savoir si l'économie sur la bande passante est plus grande que le temps passé par le developpeur.le 07/07/2009 à 9:23 -
fbaligandMembre à l'essaiNul besoin de se compliquer la vie à "développer" ce genre de fonctions.
Apache fournit des modules qui font ça très bien.le 07/07/2009 à 10:26 -
nicoramaEn attente de confirmation mailRhalala
Ok pour renvoyer un 304 pour une image placée sur le serveur. Mais suppose un gros stock de datas, genre l'ensemble des hôtels dans la haute-garonne, avec les méta-datas qui vont bien avec.
datas dans la database->java->xml : le doc xml est la représentation de ta resource /maps/datas/hotels/31
A t-il changé depuis ta dernière connexion ? Apache n'en sais rien, mais un hash sur le document xml te renseignera et pourra éviter de dl quelques ko.le 07/07/2009 à 11:33 -
jlouvelFutur Membre du ClubAvec le framework Restlet, la gestion des ETags est très simple. Il suffit de renvoyer leur valeur avec chaque GET (propriété "tag" de la classe Representation). Cette propriété est une instance de la classe Tag, ce qui facilite sa création et manipulation.
Ensuite, le framework se charge automatiquement de la vérification des méthodes conditonnelles basées sur les tags et renvoie le status 304 si nécessaire.le 07/07/2009 à 12:15 -
nicoramaEn attente de confirmation mailUn hash de la resource n'est pas difficile, mais il reste une stratégie à définir sur la durée de vie. Il est cependant agréable que Restlet fournisse la solution technique et laisse le concepteur concevoir les problèmes. C'est fait pour
.
Un peu d'infos bien faite sur les différents headers : http://www.caucho.com/resin/doc/proxy-cache.xtple 07/07/2009 à 12:21 -
LDDLMembre habituéJ'ai du mal à comprendre l'interaction du Etag. Cela intervient à quel moment et chez qui ?le 07/07/2009 à 14:20
-
jlouvelFutur Membre du ClubLe ETag est une sorte d'identifiant unique de la représentation d'une resource (le document retourné par un GET pour simplifier).
Si cette représentation contient un tag, il peut être utilisé par des requêtes suivantes pour éviter de récupérer le même contenu, ou pour éviter d'écraser les changements d'un autre utilisateur (GET et PUT conditionnels).le 07/07/2009 à 15:21 -
wiztricksExpert éminent séniorLe membre d'une Ressource est identifié par son URI: http:..../<<Ressource>> et un membre par son ID, ex:123
Lorsqu'on fait une lecture du membre, i.e la requête HTTP
GET ..../<<Ressource>>/123 le serveur peut retourner un ETag dans la réponse.
Cet Etag est une valeur associée à l'état de la ressource (par le serveur) ..../<<Ressource>>/123 au moment ou elle a été lue (ex: le MD5 du contenu)
Le client peut "stocker" l'Etag.
Si plus tard, le client souhaite savoir si la ressource a changé, il peut effectuer une requête de type "HTTP Head" vers l'identifiant de la ressource avec l'Etag (dans une condition "If-None-Match" de la requête).
Le serveur retourne une réponse en fonction de la valeur courante de l'Etag associée à la Ressource et celle expédiée par le Client
-Wle 10/01/2010 à 16:36