A URL is a complex object. It contains at least six separate pieces of information. More can be included as optional values.
A URL such as http://127.0.0.1:5000/dealer/hand/player_1?$format=json
has several fields:
http
is the scheme.https
is for secure connections using encrypted sockets.127.0.0.1
can be called the authority, although network location is more commonly used. This particular IP address means the localhost and is a kind of loopback to the localhost. The name localhost maps to this IP address.5000
is the port number, and is part of the authority./dealer/hand/player_1
is the path to a resource.$format=json
is a query string.
The path to a resource can be quite complex. It's common in RESTful web services to use the path information to identify groups of resources, individual resources, and even relationships among resources.
How can we handle complex path parsing?