title: Custom HTTP Headers for in-house web application
body: <p>Is there any accepted naming convention for custom http headers in an in-house web application?</p>
  
  <p>in-house in the strict sense means that requests with this header will never be transmitted over the public internet. in-house in a liberal sense means that while requests may be transferred over the public internet the server endpoint will always be a machine under control of a specific vendor.</p>
  
  <p>i am aware of <a href="https://stackoverflow.com/questions/3561381/custom-http-headers-naming-conventions">this SO article</a> and the <a href="http://www.ietf.org/rfc/rfc6648.txt" rel="nofollow noreferrer">RFC 6648</a>.</p>
  
  <p>However, the reasoning forwarded in the latter reference does not quite convince me as it says:</p>
  
  <pre><code>2.  SHOULD employ meaningful parameter names that they have reason to
      believe are currently unused.
  
  3.  SHOULD NOT prefix their parameter names with "X-" or similar
      constructs.
  </code></pre>
  
  <p>Well, <code>X-&lt;meaningful_name&gt;</code> conveys the semantics suggested by <code>&lt;meaningful_name&gt;</code> + the information that this header has neither been assigned by nor registered with an official standard maintaining authority, so the items 2., 3. appear a bit contradictory.</p>
  
  <p>Of course, I could use other monikers like <code>Vnd-</code> or a company/product name prefix or even a customary term like <code>Foo-</code>. the arguments against the <code>X-</code> prefix would still apply, however.</p>
  
  <p>On the other hand, just using a 'meaningful name' invites future collisions with the same term being endorsed by an official standard or some other company whose products will become part of the processing pipeline.</p>
  
  <p>ps:
  apologies if this question is considered overly unspecific. I'll be happy to move it to some other more suitable venue. </p>