Characters valid in an HTTP Pathname: Letter Digit %XX ; : @ & = $ - _ . + ! * ' ( ) ,
Or in words: Letter Digit PercentHexdigitHexdigit Semicolon Colon At Ampersand Equal Dollar Dash Underscore Dot Plus Bang Star Stroph Leftparen Rightparen Comma
Because Google's high-ranking results on this subject contain contradictions & errors, say they're about RFC-1738 when it's clear the author has never read that RFC, I've made this webpage on the subject. This really is about the Characters that are valid in the Pathname part of an HTTP-URL according to RFC 1738.
The above set of characters is for both Pathname and Search parts of an HTTP-URL that looks like: "http://" Host [ ":" Port ] [ "/" Pathname [ "?" Search ]]