As I understand, characters in URL are either reserved (have a special meaning) or unreserved (do not have a special meaning).
Am I correct that percent-encoding is used in URL if one needs to send literal value of character to web server? For example, if I have a document named document/_with_forward_slash_in_its_name.html
in web server root folder, then I should use the URL www.example.com/document%2f_with_forward_slash_in_its_name.html
because otherwise web server would think that I'm looking for a file named _with_forward_slash_in_its_name.html
from directory document
?
Is there a difference if this /
character is in query string, e.g http://www.example.com/get-page.php?home=document/_with_forward_slash_in_its_name.html
?
Why there are multiple ways to decode reserved characters, e.g /
can be %2F
, %2f
or %c0%af
?