requests.head returning incomplete information

<!-- Summary. -->
requests.head and request.get returning different headers
## Expected Result

<!-- What you expected. -->
requests.head().headers == requests.get().headers
## Actual Result

<!-- What happened instead. -->
requests.head().headers != requests.get().headers
## Reproduction Steps

```python
import requests
url = 'https://stream.redcircle.com/episodes/5a761d93-a934-4511-84d9-35c2a7dc3b2b/stream.mp3'
requests.head(url).headers
requests.get(url).headers
#The second requests.get includes additional header items, most importantly the filename.
```

## System Information

    $ python -m requests.help

```json
{
  {
  "chardet": {
    "version": "3.0.4"
  },
  "charset_normalizer": {
    "version": "2.0.7"
  },
  "cryptography": {
    "version": "3.2.1"
  },
  "idna": {
    "version": "2.8"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.8.10"
  },
  "platform": {
    "release": "5.4.0-92-generic",
    "system": "Linux"
  },
  "pyOpenSSL": {
    "openssl_version": "1010108f",
    "version": "19.0.0"
  },
  "requests": {
    "version": "2.27.1"
  },
  "system_ssl": {
    "version": "1010106f"
  },
  "urllib3": {
    "version": "1.25.8"
  },
  "using_charset_normalizer": false,
  "using_pyopenssl": true
}

}
```

<!-- This command is only available on Requests v2.16.4 and greater. Otherwise,
please provide some basic information about your system (Python version,
operating system, &c). -->


Hi @dvrhax,

It seems there may be some misunderstanding on the fundamentals of HTTP. Given that the GET contains a body there will _always_ be more headers than provided in the HEAD call. There are a lot of great resources out there for learning more or you might consider asking questions on [StackOverflow](https://stackoverflow.com). We won't be able to assist with that on this issue tracker though.

According to the standard though:
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

9.4 HEAD
The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response to a GET request. This method can be used for obtaining metainformation about the entity implied by the request without transferring the entity-body itself. This method is often used for testing hypertext links for validity, accessibility, and recent modification.

This would appear contrary to the way requests is functioning as it should not be the case that the GET contains more headers than provided in the HEAD call.  Now I can appreciate that SHOULD is not "IS" and that potentially this is a fault with the server side and not requests but it does seem to be an edge case that requests could handle.

We cannot create data that is not sent to us. If it's not included from the server with the HEAD request, it won't be returned by Requests.

For educational purposes for others arriving here later. The above RFC being quoted is wrong. The information that’s relevant is in [RFC 7231 4.3.2](https://datatracker.ietf.org/doc/html/rfc7231#section-4.3.2).

I'm not implying that it should be "created" and like I said this could be a server side issue where they're not adhering to the standard but I opened the issue as it's also seems to be reasonable that something could be getting truncated in requests hence the bug submission.  If that's not the case that's fine just putting it out there.

Nothing gets truncated, we give you everything. Try verifying with a different client, i.e., curl. I see different headers between the two in curl.