1) ¿Es importante establecer el tipo MIME correcto para una respuesta del servicio web?
Sí. Sin embargo, esto depende realmente de cómo se espera o configura el destinatario para procesar el contenido. Un cliente que se crea utilizando información fuera de banda sobre el contenido puede elegir ignorar el tipo de contenido o un cliente puede usar los metadatos de tipo de contenido para enrutar la representación a un módulo de procesamiento apropiado en función del tipo de contenido. Content-Type permite que un cliente tenga sentido del contenido sin tener que echar un vistazo al contenido real. Además, dado que ha marcado su pregunta como relacionada con REST, es importante comprender la restricción autodescriptiva de REST y qué papel desempeñan los tipos de medios para lograr esta restricción. Si está interesado en aprender más sobre autodescriptivo, lea section 5.2.1 of Roy's dissertation.
2) ¿cuál es el tipo MIME correcto para a, a) respuesta XML?
b) ¿Respuesta JSON?
application/xml texto/xml application/json application/x-javascript text/javascript texto/x-javascript texto/x-jsontext/x-json
Todo el contenido de arriba los tipos son genéricos y no le dan más información al cliente, aparte de decir si el contenido es JSON o XML. Lo que necesita es un tipo de contenido específico para su aplicación que no solo le informe a su cliente sobre el formato sino que también describa la semántica y cómo procesar el contenido. En cuanto a la diferencia entre la aplicación/xxx y el texto/xxx, RFC 3023 indica lo siguiente:
Si un documento XML que es, el, documento XML de origen sin procesar es leídos por los usuarios ocasionales, text/xml es preferible a la aplicación/xml.MIME agentes de usuario (y agentes de usuario web) que no tienen soporte explícito para texto/xml lo tratará como texto/plano, por ejemplo, mostrando XML entidad MIME como texto sin formato. La aplicación/xml es preferible cuando la entidad XML MIME no se puede leer por usuarios ocasionales. He leído en algunas discusiones que text/xml puede ser obsoleto en el futuro, pero no estoy seguro de de eso.
Para JSON, el tipo MIME correcto es application/json. Ver SO question.
Tenga en cuenta que 'text/xml' y' application/xml' tienen usos ligeramente diferentes. 'text/xml' indica un formato XML que es principalmente legible por humanos/comprensible. Cualquiera de las dos está bien, solo depende del uso previsto de la salida XML. – BoltClock
+1 para BoltClock. Quería escribir lo mismo, pero vi su comentario. Mire rfc3023 (vea http://www.ietf.org/rfc/rfc3023.txt) y busque "legible por usuarios casuales". El enlace http://xml.silmaril.ie/developers/serversoftware/ tiene la información principal de rfc3023 en forma abreviada. – Oleg
El uso de tipos de contenido apropiados es un inquilino central de REST, por lo que los tipos genéricos xml y json son inapropiados. Si OP hubiera preguntado sobre los servicios de estilo RPC, su respuesta estaría bien. Pero sentí que las otras dos respuestas eran más correctas, así que, para ponerlas en pie de igualdad, voté por su voto y voté por encima de los demás. –