2012-07-19 12 views
16

Estoy construyendo un servicio web RESTful, y estoy creando algunos tipos de medios personalizados. Parece que en los tipos de medios el subtipo se vuelve más específico a medida que avanzas de derecha a izquierda con '+'. Por ejemplo:Uso del signo más en tipos de medios de Internet personalizados (tipos MIME)

application/json es más general que application/hal+json, ya que HAL agrega más restricciones en la parte superior de json.

Mi pregunta es si esto es estándar, o simplemente una convención (he examinado algunos de los RFC en tipos MIME y no he podido encontrar nada, pero puede que no haya buscado lo suficiente).

Si es estándar, ¿se generaliza así que puedo agregar subtipos aún más específicos como application/vnd.custom.mime+hal+json o está limitado a un "+"?

+0

Para cualquier persona que encuentre esto más tarde, terminé usando [profiles] (https://tools.ietf.org/html/rfc6906) para especificar las especificaciones de "sub mime-type". – deontologician

+0

¿Podría explicar el asunto con los perfiles que menciona y cómo usarlos para mime-types en una respuesta separada? –

+0

En su encabezado, puede hacer: 'Content-Type: application/hal + json; profile = http: // link.to/your/profile' Los perfiles son exactamente lo que estaba tratando de hacer con más '+' en el tipo mime. Le dan semántica muy especializada a un documento. Entonces, podría, por ejemplo, especificar los atributos que deben estar en el documento, y puede especificar los significados, etc. En hal, puede hacer perfiles en un enlace como: '{" href ": ...," profile ":" http://link.to/your/profile "}' – deontologician

Respuesta

7

El procedimiento para registrar nuevos sufijos ahora se define en http://trac.tools.ietf.org/html/draft-ietf-appsawg-media-type-regs-14#section-6.

"+ json" se definirá en un documento separado; ahora mismo: http://trac.tools.ietf.org/html/draft-ietf-appsawg-media-type-suffix-regs-02#section-3.1

Y no, se supone que no tienes múltiples subtipos allí.

+0

esos enlaces parecen estar caídos, ¿hay una ubicación alternativa? – deontologician

+0

@habitue: trabajan para mí en este momento. –

+2

Correcto, ahora trabajan para mí. Entonces, ¿cuál es la mejor manera de manejar lo que quiero hacer definiendo algo así como "application/vnd.custom + json" donde vnd.custom se define como un subconjunto de los documentos hal? – deontologician

Cuestiones relacionadas