Reputation: 5487
I recently used custom headers to override behavior (of our a-b test assignments) of our web application for testing purposes via browser. How it works is that if the application code detects header names with certain naming conventions, it processes them, and acts accordingly.
The feature worked on localhost and on other in-house environments like qa. But it failed when it went live (our app is a public website running on tomcat and the language is Java 7; qa environment uses the same technologies).
The root cause is that the header "naming" convention had special characters in it like dot (.) and exclamation (!). I'm very puzzled that it works perfectly on internal environments but not on production. Any ideas how is that the case?
I verified that production code worked if there were no special characters in header names.
Upvotes: 2
Views: 6923
Reputation: 42025
The valid characters are defined in http://greenbytes.de/tech/webdav/rfc7230.html#header.fields; both "!" and "." are valid.
Upvotes: 4