diff --git a/spec.md b/spec.md index 5f6f1cfa..27af90a3 100644 --- a/spec.md +++ b/spec.md @@ -161,9 +161,11 @@ Throughout this document, `` as a tag MUST be at most 128 characters The client SHOULD include an `Accept` header indicating which manifest content types it supports. In a successful response, the `Content-Type` header will indicate the type of the returned manifest. +The registry SHOULD NOT include parameters on the `Content-Type` header. +The client SHOULD ignore parameters on the `Content-Type` header. The `Content-Type` header SHOULD match what the client [pushed as the manifest's `Content-Type`](#pushing-manifests). If the manifest has a `mediaType` field, clients SHOULD reject unless the `mediaType` field's value matches the type specified by the `Content-Type` header. -For more information on the use of `Accept` headers and content negotiation, please see [Content Negotiation](./content-negotiation.md). +For more information on the use of `Accept` headers and content negotiation, please see [Content Negotiation](./content-negotiation.md) and [RFC7231](https://www.rfc-editor.org/rfc/rfc7231#section-3.1.1.1). A GET request to an existing manifest URL MUST provide the expected manifest, with a response code that MUST be `200 OK`. A successful response SHOULD contain the digest of the uploaded blob in the header `Docker-Content-Digest`. @@ -442,6 +444,8 @@ This indicates that the upload session has begun and that the client MAY proceed To push a manifest, perform a `PUT` request to a path in the following format, and with the following headers and body: `/v2//manifests/` [end-7](#endpoints) Clients SHOULD set the `Content-Type` header to the type of the manifest being pushed. +The client SHOULD NOT include parameters on the `Content-Type` header (see [RFC7231](https://www.rfc-editor.org/rfc/rfc7231#section-3.1.1.1)). +The registry SHOULD ignore parameters on the `Content-Type` header. All manifests SHOULD include a `mediaType` field declaring the type of the manifest being pushed. If a manifest includes a `mediaType` field, clients MUST set the `Content-Type` header to the value specified by the `mediaType` field.