2010-11-05 5 views
3

J'écris un service Web qui utilise JSON ou optionnel Clojure data expressions comme le format du corps. Les données doivent juste être lues, pas évaluées, si cela est important. Que recommanderiez-vous d'utiliser comme MIME ou Content-type pour Clojure?Clojure type de contenu?

Voici jusqu'où je suis: Selon la façon dont vous regardez les données Clojure pourraient être de type « x », « texte » ou à usages multiples « application »:

application/clojure 
text/clojure 
application/x-clojure 

à http://www.iana.org/assignments/media-types/ Je ne pouvais même pas trouver un type pour Lisp ... (mais encore une fois Clojure n'est pas Lisp).

Il y a bien sûr les deux versions

application/json 
application/javascript 

pour JSON et JavaScript, selon si les données seront évaluées.

Répondre

2

Les normes sont établies autant par utilisation que par conception. Si le texte que vous envoyez est une forme clojure, alors je suis enclin à penser que application/clojure va bien. La seule réservation que j'ai serait de distinguer le code exécutable des structures de données littérales, de la façon dont application/javascript se distingue de application/json.

+0

Il semble que oui. J'espérais que j'avais manqué une norme déjà établie pour cela. J'ai vu des traces de ces versions "à l'état sauvage", par exemple dans les pygments et dans les moinmoin. – jramb

0

Je suggère quelque chose autour de:

  • application/vnd.clojure-données
  • application/prs.jramb.clojure-données
  • text/vnd.clojure
  • text/prs. jramb.clojure

voir la partie 3.2 et 3.3 de rfc4288 et la wikipedia entry

+0

Oui, c'est peut-être correct si vous le voyez du point de vue d'une organisation standard (IANA). Cependant en utilisant un espace de noms privé (vnd ou prs) j'ai exclu la possibilité de suivre n'importe quelle norme externe. Comme je le vois, les espaces de noms personnels et des fournisseurs seraient utiles si j'avais l'intention d'établir un standard personnel (ce que je n'ai pas l'intention). Et puisque je ne suis pas le vendeur de Clojure, il serait faux de l'utiliser aussi. La RFC se réserve également pour des produits commerciaux qui, je pense, ne s'appliquent pas à clojure. – jramb

+0

Je peux comprendre votre point de vue mais je pense qu'il peut être de votre préoccupation si le "application/clojure" serait enregistré par l'IANA. Donc j'utiliserais le prs juste au cas où. Vous éviterez ainsi les conflits de noms et peut-être des conséquences imprévues. Mais que je ne vois pas de problème spécifique en ce moment avec le nom de clojure :). Maintenant, avec un autre langage comme 'Go', j'aurais certainement un problème avec une application car on pourrait imaginer que ce type de média serait officiellement utilisé par l'association de joueurs japonais ou chinois Go et cela pourrait être très désagréable. – DomreiRoam