# How to Set File Metadata Spaces Object Storage is an S3-compatible service for storing and serving large amounts of data. The built-in Spaces CDN minimizes page load times, improves performance, and reduces bandwidth and infrastructure costs. In an individual file’s **More** menu, you can **Manage Metadata** for the file. You can also manage metadata for multiple files at once by selecting them, opening the **Actions** menu, and choosing **Manage Metadata**. **Manage Metadata** lets you set the following four attributes and add custom key-value pairs: - **Content-Type**, also known as the MIME type, helps browsers render content properly. Most of the time, this is automatically detected, but it can be overridden if needed. For a detailed discussion, see [Content-Type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type). - **Cache-Control** determines how long web browsers and internet caches can store a copy of the object, an important metadata item for CDN configuration. The cache time values are specified in seconds. For a detailed discussion, see [Web Caching Basics: Terminology, HTTP Headers, and Caching Strategies](https://www.digitalocean.com/community/tutorials/web-caching-basics-terminology-http-headers-and-caching-strategies). - **Content-Encoding** indicates if a file is being compressed in transit. For a detailed discussion, see [Content Encoding](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding). Content-Encoding may be modified by the server, for example to convert pre-compressed content for a client that does not support compression. - **Content-Disposition** indicates if a regular file should be displayed inline in the web browser or downloaded as an attachment. For detailed discussion, see [Content-Disposition](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition). - **Add Custom Pairing** allows you to set your own key-value headers. For example, if you are using Spaces with certain CDNs or reverse proxies, you might use the `x-amz-meta-surrogate-key` to assist with selective cache invalidation. **Note**: For Spaces Cold Storage, CDN-specific headers (like `Cache-Control` or `Content-Encoding` behaviors tied to CDN delivery) do not apply because CDN integration is not supported. For more details, see [Spaces Limits](https://docs.digitalocean.com/products/spaces/details/limits/index.html.md). If you use `s3cmd` or the Spaces API, you can also set a file’s metadata when you upload it. There are more specific instructions for `s3mcd` in [Examples of s3cmd 2.x Usage with DigitalOcean Spaces](https://docs.digitalocean.com/products/spaces/reference/s3cmd-usage/index.html.md#put-all-files-in-your-current-directory) and for Spaces API on the [Spaces API Documentation](https://docs.digitalocean.com/reference//api/spaces/index.html.md). **Note**: Origin endpoints do not dynamically compress or decompress content, and they do not modify the content’s `Content-Encoding` header. However, for files downloaded via the CDN, you can set the following metadata headers during upload to the origin to make the CDN dynamically compress or decompress the file: - The CDN endpoints may dynamically compress content, if the origin object does not have `Content-Encoding: gzip` and the client sends `Accept-Encoding: gzip`. If dynamically compressed, the resulting response has the `Content-Encoding: gzip` header added. - The CDN endpoints may dynamically decompress content if the origin object has `Content-Encoding: gzip` and the client does not send `Accept-Encoding: gzip`. If dynamically uncompressed, the resulting response has the `Content-Encoding: gzip` header removed. Similar behavior also applies to other major S3 and CDN vendors.