-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Register MIME Types #412
Comments
Related to #400 |
Not sure you got my previous message. it is IANA that insisted that we use vnd. prefix, considering Khronos as a vendor. so, why not keeping the same for gltf? I don't see the use of binary in mime type. octet-stream is used to designate raw binary formats. Note the way I understand '+' in mime type is not to decorate a type, but to provide alternate ways to handle it. I'm not sure one can use gltf+json and gltf+octet-stream to specify 2 different formats. model/ is defined to be a 3D model. Would a 'model/vnd.gltf+octet-stream' or would it be the binary data that is used by the 'model/vnd.gltf+json'? If it is the later, then I'd just use the standard application/octet-stream for the binary data. Meaning its just a bunch of bytes that can't really be used without more context. |
I think the idea was to have an own mimetype for the binary version of glTF. Since binary_glTF can be self-contained (binary header, JSON and binary data all in one file), the server would then send a binary_glTF file and communicate this using the respective mimetype. This would justify two different mimetypes for glTF, I guess? |
@RemiArnaud didn't realize IANA forced this... that's weird. Khronos isn't a vendor, it's a consortium. Well, we can try. Regarding the second point it sounds like we'd want to go with model/gltf-binary (or with vnd. prefix), right? the dash is a legal part of the identifier, right? |
I see 'dot' used more than '-' so maybe this: model/vnd.gltf.binary |
yeah sure that would be fine, too |
tl;dr When Web3D registered the X3D MIME types, we kept meticulous records of the submission and resources. Most of the material is available at http://www.web3d.org/wiki/index.php/X3D_MIME-Type A standards tree registration requires submission by a standards-related organization. I do not know Khronos qualifies in the eyes of IANA and needs to have adequate documentation. ISO is a recognized standards-related organization as seen by Web3D's submission and approval of model/x3d. The MIME format is {type-name}/[facet-name.]{sub-type name}[+/-] [; parameters] Model does appear to the proper {type-name} If allowed, the {sub-type name| would be 'gltf'. Only if required would the facet-name be used - probably vnd. It is much preferable to get to use the first one. The dot character has a specific meaning (delineator) and is only allowed with a facet (e.g., 'vnd'). At the time Web3D was registering X3D, we were told that only "approved" suffixes would use +{suffix} (e.g., +xml). The use of '-' is as a word separator (e.g., 'x3d-vrml') As far as I can tell any formatting suffix used is equivalent to application/{suffix}. So for '+json' the entire file would need to follow the JSON encoding rules. As I understand gltf (which is by no means a complete understanding), the 'parameters' field might be a better indicator for binary vs. json, especially if the file is not fully JSON. There are also restrictions on standards tree (non vnd) MIME types in both the copyright of the standard document and proprietary formats. Summary:
|
@DRx3D thanks for the detailed explanation. glTF is a JSON file. It might reference external files such as images, but those have separate MIME types. "Binary glTF" is a glTF extension that defines a binary container format, which embeds the JSON and binary data (geometry, images, animations). Based on this, do you think we should propose:
|
Standard glTF (model/gltf+json) is correct (if it goes standard) |
@DRx3D yes that works for us, gtlf-binary. Thanks so much... |
OK, so we are initially proposing:
|
yes, exactly what I already wrote above about binary. Also, you should use vnd, because during the discussion between Khronos and IANA about MIME type, IANA asked to use vnd. Also DrX3D explained why. Should be: |
For what it's worth, Cesium is currently using:
|
then there's no need to change IMHO -> what Cesium is currently using is fine. |
IMHO we shouldn't have to have a vnd. prefix in the MIME type. Khronos is not a vendor, it's a non-profit standards body. Shouldn't have happened with COLLADA either. So I would like to push on this. |
You may want to contact Neil or Mark Barnes for the trail of emails between IANA and Khronos. |
yes that would be good, too. @pjcozzi who is going to talk to IANA about this for us? |
The IESG (IETF's Steering Group) is the organization that determines which standards groups can submit, "Requests from other organizations will be confirmed by the IESG" I quickly checked the IESG page (https://www.ietf.org/iesg/) and did not find an obvious page that describes the review process. |
Looking into it. |
Labeling as |
You can assign this to me if you want. |
@uklumpp I don't think you have the right GitHub permissions for this (email me if you want them), but consider this assigned. Thanks! |
Registered, big thanks to @uklumpp! https://github.com/KhronosGroup/glTF/blob/master/specification/README.md#mimetypes |
These types were registered as discussed in KhronosGroup/glTF#412. See: https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#mimetypes See: https://github.com/KhronosGroup/glTF/blob/master/extensions/Khronos/KHR_binary_glTF/README.md#mime-type
These types were registered as discussed in KhronosGroup/glTF#412. See: https://github.com/KhronosGroup/glTF/tree/master/specification/1.0#mimetypes See: https://github.com/KhronosGroup/glTF/blob/master/extensions/Khronos/KHR_binary_glTF/README.md#mime-type
Just a task, we should do it soon, register MIME types for glTF and binary glTF
Current thinking is
model/gltf+json
modle/gltf+binary
The text was updated successfully, but these errors were encountered: