NSURL

https://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value
.isFileURLfalse
.absoluteStringhttps://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value
.absoluteURLhttps://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value
.fragmentnil
.hostwww.example.com
.lastPathComponentscript.ext
.parameterStringparam=value
.passwordp4ssw0rd
.path/script.ext
.pathComponents/, script.ext
.pathExtensionext
.port443
.queryquery=value
.relativePath/script.ext
.relativeStringhttps://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value
.resourceSpecifier//johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value
.schemehttps
.standardizedhttps://johnny:p4ssw0rd@www.example.com:443/script.ext?query=value
.userjohnny
.filePathURLnil
.deletingLastPathComponenthttps://johnny:p4ssw0rd@www.example.com:443/;param=value?query=value
.deletingPathExtensionhttps://johnny:p4ssw0rd@www.example.com:443/script;param=value?query=value
.standardizingPathhttps://johnny:p4ssw0rd@www.example.com:443/script.ext;param=value?query=value