Skip to content
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

[WIP] adding MIME types as codec types #28

Closed
wants to merge 2 commits into from

Conversation

bochaco
Copy link

@bochaco bochaco commented Sep 7, 2018

This depends on this other PR to update the table with MIME types as codecs: multiformats/multicodec/pull/84

Each MIME type is added as a codec which codec name is prefixed with 'mime/', i.e.:

mime/<mime-type-here>

Based on the information at 1 the following ranges are reserved for any mime types/subtypes:

Range 0x1000 - 0x17ff: (11 bits) reserved for 'application/*' (there currently are ~1,300 subtypes)
Range 0x1800 - 0x18ff:  (8 bits) reserved for 'audio/*' (there currently are ~150 subtypes)
Range 0x1900 - 0x190f:  (4 bits) reserved for 'font/*' (there currently are ~8 subtypes)
Range 0x1910 - 0x197f:  (7 bits) reserved for 'image/*' (there currently are ~60 subtypes)
Range 0x1980 - 0x19cf:  (5 bits) reserved for 'message/*' (there currently are ~18 subtypes)
Range 0x19d0 - 0x1a3f:  (6 bits) reserved for 'model/*' (there currently are ~24 subtypes)
Range 0x1a40 - 0x1a8f:  (5 bits) reserved for 'multipart/*' (there currently are ~13 subtypes)
Range 0x1a90 - 0x1aff:  (7 bits) reserved for 'text/*' (there currently are ~71 subtypes)
Range 0x1b00 - 0x1b6f:  (7 bits) reserved for 'video/*' (there currently are ~78 subtypes)

In this PR only the MIME types listed at 2 are declared since these should
be the most relevant for the web, plus a few additional ones useful for the semantic web.

Each MIME type is added as a codec which codec name is prefixed with 'mime/', i.e.:

	mime/<mime-type-here>

Based on the information at [1] the following ranges are reserved for any mime types/subtypes:

	Range 0x1000 - 0x17ff: (11 bits) reserved for 'application/*' (there currently are ~1,300 subtypes)
	Range 0x1800 - 0x18ff:  (8 bits) reserved for 'audio/*' (there currently are ~150 subtypes)
	Range 0x1900 - 0x190f:  (4 bits) reserved for 'font/*' (there currently are ~8 subtypes)
	Range 0x1910 - 0x197f:  (7 bits) reserved for 'image/*' (there currently are ~60 subtypes)
	Range 0x1980 - 0x19cf:  (5 bits) reserved for 'message/*' (there currently are ~18 subtypes)
	Range 0x19d0 - 0x1a3f:  (6 bits) reserved for 'model/*' (there currently are ~24 subtypes)
	Range 0x1a40 - 0x1a8f:  (5 bits) reserved for 'multipart/*' (there currently are ~13 subtypes)
	Range 0x1a90 - 0x1aff:  (7 bits) reserved for 'text/*' (there currently are ~71 subtypes)
	Range 0x1b00 - 0x1b6f:  (7 bits) reserved for 'video/*' (there currently are ~78 subtypes)

In this PR only the MIME types listed at [2] are declared since these should
be the most relevant for the web, plus a few additional ones useful for the semantic web.

[1]: https://www.iana.org/assignments/media-types/media-types.xhtml
[2]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Complete_list_of_MIME_types
@hacdias
Copy link
Member

hacdias commented Jan 26, 2019

Hello @bochaco! Thanks for this. I believe this should be done in the main multicodec repository. Specifically in table.csv file.

/cc @vmx

@bochaco
Copy link
Author

bochaco commented Jan 28, 2019

Hello @bochaco! Thanks for this. I believe this should be done in the main multicodec repository. Specifically in table.csv file.

/cc @vmx

Hi @hacdias , yes, that's what I did in the referenced PR above: multiformats/multicodec#84

@hacdias
Copy link
Member

hacdias commented Dec 11, 2020

@bochaco closing this as multiformats/multicodec#84 got replaced by multiformats/multicodec#159!

@hacdias hacdias closed this Dec 11, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants