1
0
mirror of https://github.com/opencontainers/distribution-spec.git synced 2025-04-18 20:04:03 +03:00

content-negotiation: bring over the table from Sebastiaan

From https://github.com/opencontainers/distribution-spec/issues/212

Signed-off-by: Vincent Batts <vbatts@hashbangbash.com>
This commit is contained in:
Vincent Batts 2021-01-28 14:41:28 -05:00
parent d8b559ca07
commit b6c971b3bb
No known key found for this signature in database
GPG Key ID: 524F155275DF0C3E

View File

@ -1,4 +1,23 @@
## Content Negotiation
TODO - Please see
[issue #212](https://github.com/opencontainers/distribution-spec/issues/212).
[issue #212](https://github.com/opencontainers/distribution-spec/issues/212).
| `Accept` | Multi? | Result (type) | Notes |
|:----------------------------------------------------------------------------|:-------------------|:------------------------|:---------------------------------------------------------------------------------------------|
| `<not present>` | :white_check_mark: | `manifest.v1+prettyjws` | `v1`, `linux/amd64`, for backward compatibility with old, non-v2 clients |
| `*/*` | :white_check_mark: | `manifest.v1+prettyjws` | `v1`, `linux/amd64`, for backward compatibility with old, non-v2 clients (same as above) |
| `application/json` | :white_check_mark: | `manifest.v1+prettyjws` | `v1`, `linux/amd64`, for backward compatibility with old, non-v2 clients (same as above) |
| `manifest.v1+json` | :white_check_mark: | `manifest.v1+prettyjws` | `v1`, matching `Accept` header (`linux/amd64` for backward compatibility) |
| `manifest.v2+json` | :white_check_mark: | `manifest.v2+json` | `v2`, matching `Accept` header (`linux/amd64` for backward compatibility) |
| `manifest.list.v2+json` | :white_check_mark: | `manifest.list.v2+json` | `v2 manifest list`, matching `Accept` header |
| `manifest.list.v2+json`,<br /> `manifest.v2+json`,<br /> `manifest.v1+json` | :white_check_mark: | `manifest.list.v2+json` | `v2 manifest list`, matching first `Accept` header |
| `manifest.v2+json`,<br /> `manifest.list.v2+json`,<br /> `manifest.v1+json` | :white_check_mark: | `manifest.v2+json` | :warning: prefers manifest list over manifest (ignoring order?) |
| `<not present>` | - | `manifest.v1+prettyjws` | same as multi-manifest repo |
| `*/*` | - | `manifest.v1+prettyjws` | same as multi-manifest repo |
| `application/json` | - | `manifest.v1+prettyjws` | same as multi-manifest repo |
| `manifest.v1+json` | - | `manifest.v1+prettyjws` | same as multi-manifest repo |
| `manifest.v2+json` | - | `manifest.v2+json` | same as multi-manifest repo |
| `manifest.list.v2+json` | - | `manifest.list.v2+json` | :warning: somewhat unexpected to return a v1 manifest for a v2-capable client |
| `manifest.list.v2+json`,<br /> `manifest.v2+json`,<br /> `manifest.v1+json` | - | `manifest.list.v2+json` | `v2 manifest`, matching first "acceptable" `Accept` header (by lack of a manifest-list) |
| `manifest.v2+json`,<br /> `manifest.list.v2+json`,<br /> `manifest.v1+json` | - | `manifest.v2+json` | `v2 manifest`, matching first "acceptable" `Accept` header (by lack of a manifest-list) |