Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
"Unsafe" Characters and Special Encodings
URLs are normally expressed in the standard US ASCII character set, which is the default used by most TCP/IP application protocols. Certain characters in the set are called unsafe, because they have special meaning in different contexts, and including them in a URL would lead to ambiguity or problems in of how they should be interpreted. The space character is the classical unsafe character because spaces are normally used to separate URLs, so including one in a URL would break the URL into pieces. Other characters are unsafe because they have special significance in a URL, such as the colon (:).
The safe characters in a URL are alphanumerics (A to Z, a to z and 0 to 9) and the following special characters: the dollar sign ($), hyphen (-), underscore (_), period (.), plus sign (+), exclamation point (!), asterisk (*), apostrophe ('), left parenthesis ((), and right parenthesis ()). All other unsafe characters can be represented in a URL using an encoding scheme consisting of a percent sign (%) followed by the hexadecimal ASCII value of the character. The most common examples are given in Table 223.
Table 223: URL Special Character Encodings
Character
Encoding
Character
Encoding
Character
Encoding
<space>
%20
<
%3C
>
%3E
#
%23
%
%25
{
%7B
}
%7D
|
%7C
\
%5C
^
%5E
~
%7E
[
%5B
]
%5D
`%60
;
%3B
/
%2F
?
%3F
:
%3A
@
%40
=
%3D
%
%26
When these sequences are encountered, they are interpreted as the literal character they represent, without any significance. So, the URL http://www.myfavesite.com/are%20you%20there%3F points to a file called are you there? on www.myfavesite.com. The %20 codes prevent the spaces from breaking up the URL, and the 3F prevents the question mark in the file name from being interpreted as a special URL character.
Note: Since the percent sign is used for this encoding mechanism, it itself is special; any time it is seen the next values are interpreted as character encodings, so to embed a literal percent sign, it must be encoded as %25.
Again, these encodings are sometimes abused for nefarious purposes, unfortunately, such as using them for regular ASCII characters to obscure URLs.