http://tools.ietf.org/html/rfc3986