Algunos de los esquemas URL existentes hoy en día son:
ftp File Transfer protocol
http Hypertext Transfer Protocol
gopher The Gopher protocol
mailto Electronic mail address
news USENET news
nntp USENET news using NNTP access
telnet Reference to interactive sessions
wais Wide Area Information Servers
file Host-specific file names
prospero Prospero Directory Service
Sintaxis usual
Mientras que la sintaxis para el resto de la URL puede variar dependiendo del esquema del que se trate, los esquemas URL que incluyen el uso directo de un protocolo basado en IP a un host específico en Internet usan una sintaxis común para la parte específica al esquema:
<user>:<password>@<host>:<port>/<url-path>
Algunas de o todas las partes (exceptuando <host>) pueden ser omitidas. Se comienza con un doble slash para indicar que se ajusta a la sintaxis común de Internet. Cada una de las partes se explica a continuación:
user
Algunos esquemas (como el ftp) permiten especificar un username (opcionalmente)
password
Si se presenta, debe estar separado del username por dos puntos (":") El username (o el password), de estar presente, debe ir seguido de un símblo arroba "@" al final. Dentro del username y el password, cualquier ":", "@" o "/" debe estar respectivamente codificado.
host
Un nombre de dominio (completo) o host, o su dirección IP.
port
El número del puerto al cual conectarse. La mayoría de los protocolos tienen ya un número de puerto asignado por defecto.
url-path
El resto corresponde a datos específicos del esquema, y contiene detalles de cómo el recurso especificado debiera ser accedido. El "/" entre el host (o número de puerto) y el url-path noes parte del url-path.
Ejemplo: FTP
El esquema URL para FTP es usado para designar archivos y directorios en hosts alcanzables por medio del protocolo FTP en Internet.
Una URL de FTP sigue la sintaxis usual descrita anteriormente. Si se omite :<port>, se toma el valor por defecto, 21
Nombre y password
Si se especifican un username y password como se definió en el punto anterior, éstos se utilizan en los comandos ftp "USER" y "PASS" luego de realizar la conexión con del servidor FTP. Si no se provee ninguno de los dos y el servidor los requiere, se utilizan las convenciones de FTP anónimo, que son:
- Se suministra el usename "anonymous".
- El password entregado es la dirección e-mail del usuario accediendo al recurso.
Si la URL incluye un username pero no un password, y el servidor remoto requiere un password, el programa que esté interpretando la URL FTP debiera pedírselo al usuario.
url-path de FTP
El url-path de una URL FTP tiene la siguiente sintaxis: <cwd1>/<cwd2>/.../<cwdN>/<name>;type=<typecode> Donde <cwd1> hasta <cwdn> y <name> son cadenas (posiblemente codificadas) y <typecode> es uno de los caracteres "a", "i" o "d". Esta última parte puede además ser omitida, así como también toda la parte del url-path (incluyendo el "/"). El url-path es interpretado de la siguiente forma:
- Cada uno de los elementos <cwd> es suministrado como argumento al comando CWD, secuencialmente.
- Si el <typecode> es "d", realizar un comando NLST (listar nombres) con <name> como argumento, e iterpretar los resultados como un listado de directorio.
- De otro modo, ejecutar un comando TYPE con <typecode> como argumento, y luego acceder al archivo cuyo nombre es <name> (usando, por ejemplo, el comando RETR)