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

[IANA #1228646] Request for media type application/vnd.ipld.car #192

Closed
lidel opened this issue Mar 30, 2022 · 2 comments
Closed

[IANA #1228646] Request for media type application/vnd.ipld.car #192

lidel opened this issue Mar 30, 2022 · 2 comments
Assignees
Labels
Milestone

Comments

@lidel
Copy link
Member

lidel commented Mar 30, 2022

In effort to standardize content type used in ipfs/kubo#8758 I am submitting a request for registering application/vnd.ipld.car at https://www.iana.org/assignments/media-types/media-types.xhtml

This was proposed and discussed in various places, including ipld/go-car#238

@lidel lidel self-assigned this Mar 30, 2022
@lidel
Copy link
Member Author

lidel commented Mar 30, 2022

Submitted version after the initial feedback from IANA Operations Manager:

Name: Marcin Rataj
Email: lidel@protocol.ai

Media type name: application
Media subtype name: vnd.ipld.car

Required parameters: N/A

Optional parameters:
version: indicates the version of the CAR specification

It can be used for content negotiation when dealing with clients and servers
that support multiple CAR versions. The value is a single unsigned integer.
Its range is the range of published CAR versions
<https://ipld.io/specs/transport/car/>.
As of this writing, available version numbers are: 1 and 2.

If this parameter is not specified by the client, the server is free
to return any version it deems fit.
If a client cannot or does not want to deal with that, it should
explicitly specify a version.
Example: "application/vnd.ipld.car;version=1"

Encoding considerations: binary

Security considerations:
The media type inherits the security considerations for
application/octet-stream:
contains no executable code, provides no means for integrity
protection or data confidentiality.

When used in IPFS context, all processors should rigorously verify data
integrity based on expected CIDs of blocks included inside a CAR.
Unexpected or invalid blocks must be discarded.

The CAR format contains no internal means, beyond the IPLD block formats
and their CIDs, to verify or differentiate contents. Where such a requirement
exists, this must be performed externally, such as creating a digest
of the entire CAR.

<https://docs.ipfs.io/concepts/glossary/#cid>
<https://docs.ipfs.io/concepts/glossary/#block>
<https://docs.ipfs.io/concepts/glossary/#ipld>
<https://ipld.io/specs/transport/car/>

Interoperability considerations:
N/A

Published specification:
<https://ipld.io/specs/transport/car/>
<https://ipld.io/specs/transport/car/carv1/>
<https://ipld.io/specs/transport/car/carv2/>

Applications which use this media:
The CAR format (Content Addressable aRchives)
can be used to store content addressable objects
in the form of IPLD block data as a sequence of bytes.

The CAR format is intended as a serialized representation
of any IPLD DAG (graph) as the concatenation of its blocks,
plus a header that describes the graphs in the file (via root CIDs).

The requirement for the blocks in a CAR to form coherent DAGs
is not strict, so the CAR format may also be used
to store arbitrary IPLD blocks.

Used extensively in
IPLD <https://ipld.io>
IPFS <https://ipfs.io>

Fragment identifier considerations:
N/A

Restrictions on usage:
N/A

Provisional registration? (standards tree only):
N/A

Additional information:

1. Deprecated alias names for this type: N/A
2. Magic number(s): N/A
3. File extension(s): car
4. Macintosh file type code: N/A
5. Object Identifiers: N/A

General Comments:


Person to contact for further information:

1. Name: Marcin Rataj
2. Email: lidel@protocol.ai

Intended usage: Common
N/A

Author/Change controller:
Protocol Labs
<https://protocol.ai>
<standards@protocol.ai>

@lidel
Copy link
Member Author

lidel commented Apr 4, 2022

Done!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Archived in project
Development

No branches or pull requests

2 participants