The set of headers depends on the specific request and is described in the documentation for the corresponding request.
If you use the API directly (without SDK and applications), then you will have to generate the header yourself to sign the requests Authorization. For information on how to do this, see the Authenticating Requests (AWS Signature Version 4) section of the Amazon S3 documentation.