2010-11-05 2 views
3

Я пишу веб-службу, которая использует JSON или необязательно Данные Clojure выражения как формат тела. Данные должны быть прочитаны, а не оцениваться, если это имеет значение. Что вы рекомендуете использовать в качестве MIME или Content-type для Clojure?Clojure content-type?

Это, как далеко я пришел: В зависимости от того, как вы смотрите на него данные Clojure может быть типа «х», «Текст» или многоцелевой «приложение»:

application/clojure 
text/clojure 
application/x-clojure 

В http://www.iana.org/assignments/media-types/ я даже не мог найти тип для Lisp ... (но опять же Clojure не Lisp).

Существует, конечно, две версии

application/json 
application/javascript 

для JSON и JavaScript, в зависимости от того, если данные будут оценены.

ответ

2

Стандарты устанавливаются так же, как и по дизайну. Если текст, который вы отправляете, является формой clojure, тогда я склонен думать, что application/clojure в порядке. Одна оговорка, которую я имею, будет отличать исполняемый код от литеральных структур данных, в значительной степени на пути application/javascript отличается от application/json.

+0

Кажется, так. Я надеялся, что пропустил уже установленный для этого стандарт. Я видел следы этих версий «в дикой природе», за то, что в пигментах и ​​в гминмоине. – jramb

0

Я хотел бы предложить что-то вокруг:

  • применение/vnd.clojure-данные
  • приложений/prs.jramb.clojure-данные
  • текст/vnd.clojure
  • текст/PRS. jramb.clojure

см часть 3.2 и 3.3 из rfc4288 и wikipedia entry

+0

Да, возможно, это правильно, если вы видите это с точки зрения стандартной организации (IANA). Однако, используя частное пространство имен (vnd или prs), я исключил возможность следовать любому внешнему стандарту. Как я вижу, личное пространство имен поставщиков и поставщиков было бы полезно, если бы я намеревался установить персональный стандарт (которого я не намерен). И поскольку я не являюсь продавцом Clojure, было бы неправильно использовать это. Также RFC резервирует vnd для коммерческих продуктов, которые, я думаю, не относятся к clojure. – jramb

+0

Я могу понять вашу точку зрения, но я думаю, что это может вас беспокоить, если «приложение/clojure» будет зарегистрировано IANA. Поэтому я бы использовал prs на всякий случай. Таким образом, вы избежите конфликтов по имени и, возможно, непреднамеренных последствий. Но я не вижу конкретной проблемы прямо сейчас с именем clojure :). Теперь с другим языком, как «Go», у меня наверняка возникнет проблема с приложением/go, потому что мы могли бы предположить, что этот медиа-тип будет официально использоваться японской или китайской ассоциацией Go Go, и это может быть очень неприятно. – DomreiRoam

Смежные вопросы