I was trying to find if there is some kind of reference about what type of informations are important to be passed on the HTTP Header.

I understand that some information seems natural to be there, like the Authorization, Content-Type, Accept, and so on.

Some articles explains that the HTTP Header are used to send optional or additional informations about the request.

What I understand about the HTTP Header objetive is: send informations that are useful for all (or almost all) requests made to the API.

But all this continues to be very vague to me.

Many APIs use them to pass additional information about the authorized user and, of course, the Authorization header. But pass the authorization/user informations on HTTP Headers is a generalized concept for me. I'm looking for an explanation that could clarify the use (or not) for specific API problems.

Per example, see this question. I'm sure that the platform and user could be send through the HTTP Headers (even I prefer the URL), but if the platform and user reference are used for all endpoints on the API, maybe the HTTP Header could be a reasonable place to put them.

Is there some reference about what kind of situations the HTTP Header could be used? What you guys understand about the HTTP Header use?

  • 5
    You should use HTTP headers when information is related to communication itself rather than the matter of request. So things like encoding, caching, language, authorization are good examples of communication details. Mar 28 '18 at 9:40
  • @kadiii, this kind of information I'm aware. My question is about use the HTTP Headers to resolve API specific problems (as described in my example).
    – Dherik
    Mar 28 '18 at 12:34
  • 1
    @Dherik The definition is generic like in such a specifications but also very precise. You can include additional information about the request (like e.g. encoding, authorization,) and information about the client itself (like e.g. Accept Type). Mar 28 '18 at 13:06
  • 1
    Headers don't provide information related to the "business" (ideally). They rather provide information and instructions related to the "act" of exchanging messages. client: I do request the URI and I expect to get it in JSON format, only if the response has been modified since. And please, don't cache further responses to this URI. Server: Ok, I accept your request as soon as you provide me with the message in JSON format and you are authorized
    – Laiv
    Mar 28 '18 at 13:26
  • 2
    Possible duplicate of What belongs in an HTTP request header vs the request body?
    – Dherik
    Sep 10 '18 at 19:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.