3 - Peticiones de FTP

[editar]
Tutorial creado por Juan Manuel. Extraido de: http://www.lawebdejm.com
30 de Noviembre de 1999
Al igual que el protocolo HTTP, el FTP se basa en el típico esquema cliente/servidor. El cliente se conecta a una máquina remota (servidor) donde está ejecutándose un software especial (el servidor FTP). Una vez establecida la conexión, se inicia una conversación entre las dos máquinas, basada en el esquema petición - respuesta: el cliente hace una petición y el servidor contesta con una respuesta. Además, ciertas respuestas pueden llevar asociadas una transmisión de información, que se transmitirá por un canal de datos creado para tal efecto.

Las peticiones hechas por un cliente FTP no son más que comandos, al más puro estilo MS-DOS o Unix. Una palabra clave define el comando y los parámetros definen sobre qué objetos actúa o cómo debe comportarse.

Por ejemplo, sabemos que para cambiar de directorio actual en MS-DOS o Unix hay que utilizar el comando:

cd [nuevo directorio]

Así que en FTP se hará de un modo parecido, símplemente cambiando el nombre del comando:

CWD [nuevo directorio]

Los comandos de FTP son de 3 ó 4 letras en mayúsculas, seguidos de un espacio y los parámetros que corresponda.

En la siguiente tabla tenéis una lista de algunos de los comandos definidos:

|| Comando || Descripción ||
|| USER [nombre de usuario] || Identifica a un usuario en el servidor FTP ||
|| PASS [contraseña] || Contraseña del usuario pasado con USER. Debe ir precedido de un comando USER. ||
|| ABOR || Cancela la operación que esté procesándose, y la transmisión que pueda estar ejecutándose en el canal de datos. ||
|| QUIT || Cierra la conexión con el servidor. ||
|| PORT || Especifica el puerto del cliente donde se realizará la conexión de datos. ||
|| CWD [nuevo directorio] || Cambia el directorio activo. ||
|| CDUP || Cambia al directorio padre (igual que "cd .." en MS-DOS o Unix). ||
|| MKD [nombre directorio] || Crea un nuevo directorio. ||
|| RMD [nombre directorio] || Elimina un directorio. ||
|| DELE [nombre de archivo] || Borra un archivo en la estructura de directorios del servidor. ||
|| RNFR [nombre de archivo] || Renombrar un archivo. Este comando indica el nombre de archivo a renombrar y debe estar seguido por el comando RNTO. ||
|| RNTO [nuevo nombre archivo] || Cambia el nombre del archivo indicado con el comando RNFR y lo establece al nombre pasado en este parámetro. ||
|| SIZE [archivo] || Retorna el tamaño (en bytes) del archivo remoto. ||
|| LIST [archivo o directorio] || Muestra una lista de los archivos en el directorio actual (si no se ha pasado ningun parámetro), en el directorio pasado por parámetro (si es un directorio), o bien muestra información del archivo pasado por parámetro (si es un archivo). ||
|| NLST [directorio] || Muestra una lista de archivos en el directorio pasado, o en el directorio activo si no se pasa ninguno. ||
|| NOOP || Este es un comando dummy que para lo único para lo que sirve es para que el servidor responda con un mensaje de OK. Se utiliza para asegurarnos que la conexión está activa y funcionando. ||
|| APPE [nombre de archivo] || Añade el contenido de un archivo local al final de un fichero remoto. ||
|| RETR [nombre de archivo] || Inicia la descarga de un fichero remoto. ||
|| STOR [nombre de archivo] || Inicia el envío al servidor de un fichero local. ||

Una vez que el comando ha sido ejecutado, se retorna un código de error, seguido de un mensaje descriptivo. Además, si la operación requiere de una transferencia de información, se crea el canal de datos para ello.
[editar]

12 opiniones

OTATO

MUY BUENA EXPLICACION.....
ME PARECIO EXCELENTE
AHORA SOLO KISIERA SABER COMO PONER MI CONEXION FTP DE MODO PASIVO.....SI NO ES MUCHO PEDIR
GRACIAS
Y MUY BUEN TRABAJO EH
OTATO

MUY BUENO EH
ME PARECE K ES EXCELENTE LA EXPLICACION DE ESTOS 2 PROTOCOLOS
ESTO ES BUENO CONOCER PARA TODOS
OTATO

PUES ESTA CHIDO LA EXPLICACION... PERO NO YO KISIERA SABER K PUERTO PUEDO ABRIR (K NO SEA EL 21) PARA MI SERVIDOR FTP
ESPERO ME AYUDEN CON ESO
DE ANTE MANO MUCHAS GRACIAS
Excelente aporte.

Es un tutorial muy bueno, y facil de entender.
Corrección.

En el punto 3. Del "modo pasivo" hay un error: 3. Para ciertas operaciones, es necesario realizar el envío de un fichero, por lo que se crea el canal de datos. Para ello el cliente crea una conexión física desde uno de sus puerto (puerto y) hasta un número de puerto del *cliente*. Este número de puerto fue el que indicó el servidor como respuesta del comando pasv (puerto z). De este modo, el cliente establece el canal de datos por el que se transmite la información. Donde dice *cliente* debería decir *servidor*.
1 2 3 | siguiente >

Tutoriales relacionados con 'Los rincones del API Win32: WinInet y FTP'

El protocolo FTP desde el API WinInet. Con este curso aprenderás a hacer un pequeño... Más »
Comienzo con un nuevo tema dentro dentro de la serie Los rincones del API Win32.... Más »
Entramos en temas interesantes: el acceso a recursos remotos a través del protocolo de aplicación... Más »
En el anterior curso dejamos muchos temas en el tintero, así que voy a terminar... Más »
Damos una visión detallada de una de las características más interesantes de esta tecnología de... Más »

Autor y licencia de 'Los rincones del API Win32: WinInet y FTP'


Tutorial de Juan Manuel. Extraido de: http://www.lawebdejm.com CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.