Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Ouverture du forum d'entraide REST : Representational State Transfer

Le , par Ricky81

0PARTAGES

0  0 
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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Tommy31
Membre chevronné https://www.developpez.com
Le 05/07/2009 à 17:52
Je me pose la question de la nécessité d'utiliser des Etags pour la gestion du changement dans les resources ?
0  0 
Avatar de LDDL
Membre habitué https://www.developpez.com
Le 07/07/2009 à 9:00
heuu... c'est quoi un Etags ?
0  0 
Avatar de nicorama
En attente de confirmation mail https://www.developpez.com
Le 07/07/2009 à 9:23
Citation Envoyé par Tommy31 Voir le message
Je me pose la question de la nécessité d'utiliser des Etags pour la gestion du changement dans les resources ?
Dixit Wikipedia :
The header is useful for intermediary devices that perform caching, as well as for client web browsers that cache results.
Avec Etag, et les autres headers (Last-Modified, Expires, If-Modified-Since, If-None-Match), on peut définir précisemment ce qui a besoin d'être downloadé ou pas. Au passage, on peut compresser aussi

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.
0  0 
Avatar de fbaligand
Membre à l'essai https://www.developpez.com
Le 07/07/2009 à 10:26
Nul besoin de se compliquer la vie à "développer" ce genre de fonctions.
Apache fournit des modules qui font ça très bien.
0  0 
Avatar de nicorama
En attente de confirmation mail https://www.developpez.com
Le 07/07/2009 à 11:33
Citation Envoyé par fbaligand Voir le message
Nul besoin de se compliquer la vie à "développer" ce genre de fonctions.
Apache fournit des modules qui font ça très bien.
Rhalala 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.
0  0 
Avatar de jlouvel
Futur Membre du Club https://www.developpez.com
Le 07/07/2009 à 12:15
Avec 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.
0  0 
Avatar de nicorama
En attente de confirmation mail https://www.developpez.com
Le 07/07/2009 à 12:21
Citation Envoyé par jlouvel Voir le message
Avec 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.
Un 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.xtp
0  0 
Avatar de LDDL
Membre habitué https://www.developpez.com
Le 07/07/2009 à 14:20
J'ai du mal à comprendre l'interaction du Etag. Cela intervient à quel moment et chez qui ?
0  0 
Avatar de jlouvel
Futur Membre du Club https://www.developpez.com
Le 07/07/2009 à 15:21
Le 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).
0  0 
Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 10/01/2010 à 16:36
Citation Envoyé par jlouvel Voir le message
Le ETag est une sorte d'identifiant unique de la représentation d'une resource (le document retourné par un GET pour simplifier).
Le 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

-W
0  0