FTP
L'FTP, acronimo di File Transfer Protocol (protocollo di trasferimento file), è un servizio che fornisce gli elementi fondamentali per la condivisione di file tra host.Gli obiettivi dell'FTP sono:
- promuovere la condivisione di file (programmi o dati)
- incoraggiare l'uso indiretto o implicito (tramite programma) di computer remoti
- salvaguardare l'utente al variare dei sistemi di stoccaggio file, tra un host e l'altro
- trasferire dati in maniera affidabile ed efficiente
| http://en2.wikipedia.org/upload/0/0f/Modello_FTP.png |
- PI (protocol interpreter) è l'interprete del protocollo
- DTP (data transfer process) è il processo di trasferimento dati, che stabilisce e gestisce la connessione dati. Può essere attivo o passivo.
- Server PI è il PI del server, che ascolta la porta L in attesa di una connessione dallo User PI e stabilisce la connessione di controllo della comunicazione. Riceve comandi standard FTP dallo User PI, manda risposte e governa il Server DTP.
- Server DTP è il DTP del server, che nello stato normale attivo stabilisce la connessione con la porta in ascolto. Setta i parametri per il trasferimento e lo stoccaggio, e trasferisce i dati a comando. Può essere messo in stato passivo per ascoltare, piuttosto che iniziare una connessione sulla porta dati.
| Nome | Comando | Parametri | Descrizione |
| Abort | ABOR | Termina la connessione per il trasferimento dei dati | |
| Account | ACCT | Alcuni server richiedono un account per accessi specifici, ad esempio per memorizzare file | |
| Allocate | ALLO | Alcuni server lo richiedono per riservare spazio sufficiente per contenere i nuovi file da trasferire | |
| Append (with create) | APPE | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli in un file. Se il file esiste già i dati vengono aggiunti, altrimenti il file viene creato ex-novo | |
| Change to parent directory | CDUP | Cambia la directory di lavoro corrente con quella di livello superiore | |
| Change working directory | CWD | Cambia la directory di lavoro sul server | |
| Delete | DELE | Cancella dal server il file specificato | |
| Help | HELP | Restituisce informazioni sul comando specificato | |
| List | LIST | Se l'argomento indica un file, elenca le proprietà del file; se l'argomento è una directory, il server trasferisce una lista di file nella directory | |
| Trasfer mode | MODE | Modalità di trasferimento (S=stream, B=block, C=compressed). Il valore di default è S | |
| Make directory | MKD | Crea sul server la directory indicata | |
| Name list | NLST | Elenca il contenuto della directory indicata | |
| Noop | NOOP | Indica nessuna azione tranne l'invio di un Ok dal server | |
| Password | PASS | Completa, per alcuni server, l'identificazione dell'utente. Deve essere immediatamente preceduta dal comando USER | |
| Passive | PASV | Mette il server in ascolto su una porta che non è quella predefinita in attesa di una connessione dati | |
| Data port | PORT | Indirizzo internet dell'host e indirizzo TCP della porta, per la connessione dati | |
| Print working directory | PWD | Nella risposta viene indicato il nome della directory corrente | |
| Logout | QUIT | Disconnette l'utente e chiude la connessione di controllo. Se i file sono ancora in trasferimento, attende che terminino prima di chiudere le connessioni | |
| Reinitialize | REIN | Resetta tutti i parametri, termina le connessioni dati ma mantiene quelle di controllo ed aspetta un comando USER | |
| Restart | REST | Riprende il trasferimento file dall'offset indicato | |
| Retrieve | RETR | Obbliga il server a spedire una copia del file all'utente/server dall'altra parte della connessione | |
| Remove directory | RMD | Rimuove dal server la directory specificata | |
| Rename from | RNFR | Indica il vecchio nome del file da rinominare. Deve essere immediatamente seguito da un RNTO | |
| Rename to | RNTO | Indica il nuovo nome del file da rinominare, indicato dal comando RNFR immediatamente precedente | |
| Site parameters | SITE | Comando usato dal server per fornire servizi specifici del suo sistema che sono essenziali per il trasferimento dei file ma non sufficientemente universali per essere inclusi come comandi del protocollo | |
| Structure mount | SMNT | Inserisce la struttura di file specificata | |
| Status | STAT | È una risposta inviata dal server: durante il trasferimento di file contiene lo stato dell'operazione, oppure tra un trasferimento e l'altro e allora ha lo stesso significato del comando LIST | |
| Store | STOR | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli | |
| Store unique | STOU | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli con un nome univoco | |
| File structure | STRU | Codice della struttura dati (F=file, R=record, P=page). Il valore di default è F | |
| System | SYST | Restituisce il sistema operativo in uso sul server | |
| Representation type | TYPE | Tipo di rappresentazione dei dati (A=ASCII, E=EBCDIC, I=binary). Il valore di default è A | |
| User Name | USER | Identificazione dell'utente richiesta dal server per poter accedere al suo file system |
Risorse esterne (in inglese):