MIME Type Definition Group Name: PRO WG Source: SeungMyeong JEONG, LG Electronics, seungmyeong.jeong@lge.com Meeting Date: 02 Sep 2014 Agenda Item: TBD
Introduction Why do we define MIME types? IANA’s recommendation that different protocol uses different MIME type S/W sees content-type header field to check protocol S/W then uses corresponding XSDs to validate message bodies
oneM2M MIME types We have defined 3 MIME types application/vnd.onem2m-resource-data+xml application/vnd.onem2m-response-status+xml application/vnd.onem2m-partial-updates+xml GET /CSE1Base/container1 HTTP/1.1 Host: http://m2m.sp1.com From: CSE2/AE21 X-M2M-RI: 001 Accept: application/vnd.onem2m-resource-data+xml Content-Type: application/vnd.onem2m-resource-data+xml <xml> <content> <attributeName>latest</attributeName> </content> </xml> HTTP Request 200 OK X-M2M-RI: 001 Content-Type: application/vnd.onem2m-resource-data+xml Content-Length: 115 <xml> <container> <currentNrOfInstances>2</currentNrOfInstances> <currentByteSize>95</currentByteSize> <latest>CSE1/container1/a1bx3</latest> </container> </xml> HTTP Response Example of MIME type usage following the HTTP binding TS
Is it used for request? Or also for response? type1: resource-data application/vnd.onem2m-resource-data+xml (6.7.1) This data type is used for XML-based data to represent the oneM2M resource. Top Level Element Child Element Name Element Type Note resourceData resourceTypeId xs:string (Choice of defined m2m resource Types) Resource type which is included. Seems good, but what about request/response parameters that will be carried in message bodies? Is it used for request? Or also for response?
type2: response-status application/vnd.onem2m-response-status+xml (6.7.2) This data type is used for XML-based data m2m:responseStatus to represent the response status. See clause 6.3.2.3 for XSD definition of m2m:responseStatus . Seems like it is used in responses. What about a response also containing resource representation
type3: partial-updates application/vnd.onem2m-partial-updates+xml (6.7.3) This data type is used for XML-based data m2m:partialUpdates to represent the instruction to perform partial update. See clause 6.3.2.3 for XSD definition of m2m:partialUpdates Is this the subset of “resource-data”? Is this to distinguish full resource update and partial update? with different MIME type?
Discussion What was the reason to have 3 different types? How does those 3 types works in detail?
Suggestion If we see the needs to distinguish three different types, specify more information in clause 6.7 If we don’t have to the needs, We can have generic “application/vnd.onem2m+xml” and if it is needs, we can also have “application/vnd.onem2m+json” If “partial-update” is for differentiation from full/normal update operation, defining a new parameter seems better to register a new MIME type