Port should be optional, not -1.

The current default port -1 is not very helpful. For http this should usually be 80, for https it should usually be 443. As `request` can figure out the correct defaults via the protocol, the port suffix should simply be omitted if no port is specified explicitly.

Explicit may be better than implicit, but I think in this case the library should err on the side of convention over configuration.