2.4.1.  Parsing the Fragment Identifier
   If the parse string contains a crosshatch "#" character, then the
   substring after the first (left-most) crosshatch "#" and up to the
   end of the parse string is the <fragment> identifier.  If the
   crosshatch is the last character, or no crosshatch is present, then
   the fragment identifier is empty.  The matched substring, including
   the crosshatch character, is removed from the parse string before
   continuing.
   Note that the fragment identifier is not considered part of the URL.
   However, since it is often attached to the URL, parsers must be able
   to recognize and set aside fragment identifiers as part of the
   process.
...
   fragment    =  *( uchar | reserved )
Rohit