interactive http://bl.ocks.org/abernier/3070589
node docs https://nodejs.org/api/url.html#url_url https://nodejs.org/api/http.html#http_http_request_options_callback
# protocol
http://www.foo.io/path/to/stuff?foo=bar&bar=5
^^^^-----------------------------------------
# host
http://www.foo.io:3000/path/to/stuff?foo=bar&bar=5
-------^^^^^^^^^^^^^^^----------------------------
# hostname
http://foo.io/path/to/stuff?foo=bar&bar=5
-------^^^^^^----------------------------
# port
http://www.foo.io:3000/path/to/stuff?foo=bar&bar=5
------------------^^^^----------------------------
# pathname
http://www.foo.io/path/to/stuff?foo=bar&bar=5
-----------------^^^^^^^^^^^^^^--------------
# path
http://www.foo.io/path/to/stuff?foo=bar&bar=5
-----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# querystring
http://www.foo.io/path/to/stuff?foo=bar&bar=5
--------------------------------^^^^^^^^^^^^^
// {} -> querystring
// sig: querystring.stringify(obj [, sep[, eq[, options]]])
querystring.stringify({foo: 'bar'})
// querystring -> {}
// sig: url.parse(urlString[, parseQueryString[, slashesDenoteHost]])
url.parse(url, true).query
// check incoming url in router
url.parse(url).pathname