A URL is an address for a website. Just like postal addresses have to follow a specific format to be understood by the postman, URLS have to follow a format to be understood and get you to the right location.

There are only certain characters that are allowed in the URL string, alphabetic characters, numerals, and a few characters ; , / ? : @ & = + $ - _ . ! ~ * ' ( ) # that can have special meanings.

Reserved Characters

Encoding

Any character that is not an alphabetic character, a number, or a reserved character being used needs to be encoded.

URLs use the ASCII (“American Standard Code for Information Interchange”) character-set and so encoding must be to a valid ASCII format.

There are functions in most web languages to do this encoding for you, for example in JavaScript encodeURI() and in PHP rawurlencode().

Example:

encodeURI(Free Code Camp);
// Free%20Code%20Camp