IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

REST Discussion :

Vos questions sur les architectures REST, concepts et choix de solutions technologiques


Sujet :

REST

  1. #1
    Expert éminent sénior


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 856
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 856
    Points : 34 380
    Points
    34 380
    Par défaut Vos questions sur les architectures REST, concepts et choix de solutions technologiques
    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

  2. #2
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Je me pose la question de la nécessité d'utiliser des Etags pour la gestion du changement dans les resources ?

  3. #3
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut Question
    heuu... c'est quoi un Etags ?

  4. #4
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    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.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 9
    Points : 15
    Points
    15
    Par défaut
    Nul besoin de se compliquer la vie à "développer" ce genre de fonctions.
    Apache fournit des modules qui font ça très bien.

  6. #6
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    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.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    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.

  8. #8
    En attente de confirmation mail

    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 766
    Points : 1 267
    Points
    1 267
    Par défaut
    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

  9. #9
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut neurones low
    J'ai du mal à comprendre l'interaction du Etag. Cela intervient à quel moment et chez qui ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    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).

  11. #11
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 203
    Points : 36 631
    Points
    36 631
    Par défaut
    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
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Vos questions sur les choix et comparaisons de frameworks
    Par Ricky81 dans le forum Frameworks Web
    Réponses: 1
    Dernier message: 12/02/2012, 09h14
  2. Réponses: 2
    Dernier message: 18/06/2010, 20h12
  3. Réponses: 0
    Dernier message: 21/06/2009, 22h54
  4. Vos questions sur les téléphones et technologies mobiles Java
    Par Ricky81 dans le forum Développement Mobile en Java
    Réponses: 1
    Dernier message: 19/04/2009, 21h58
  5. Réponses: 0
    Dernier message: 29/07/2008, 01h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo