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". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide

NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

The whole site in one document for easy reference!
The TCP/IP Guide

Custom Search

Table Of Contents  The TCP/IP Guide
 9  TCP/IP Application Layer Protocols, Services and Applications (OSI Layers 5, 6 and 7)
      9  TCP/IP Key Applications and Application Protocols
           9  TCP/IP Application Layer Addressing: Uniform Resource Identifiers, Locators and Names (URIs, URLs and URNs)
                9  Uniform Resource Locators (URLs)

Previous Topic/Section
Uniform Resource Locators (URLs)
Previous Page
Pages in Current Topic/Section
Next Page
URL Schemes (Applications / Access Methods) and Scheme-Specific Syntaxes
Next Topic/Section

URL General Syntax
(Page 4 of 4)

"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

















































When these sequences are encountered, they are interpreted as the literal character they represent, without any “significance”. So, the URL “” points to a file called “are you there?” on “”. 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.

Previous Topic/Section
Uniform Resource Locators (URLs)
Previous Page
Pages in Current Topic/Section
Next Page
URL Schemes (Applications / Access Methods) and Scheme-Specific Syntaxes
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $

Home - Table Of Contents - Contact Us

The TCP/IP Guide (
Version 3.0 - Version Date: September 20, 2005

Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.