A URL component can be a segment, a query or a hash
 Segments are what is commonly known as the "path" of the URL
 Query is the part of the URL that comes after the "?" and is usually
 in the form of "key=value", although it can also be in the form of "key"
 Hash is the part of the URL that comes after the "#"