Tradotto in italiano “Upload” significa “caricamento” ed è un termine che in informatica descrive il processo di trasferimento di uno o più file da un computer locale il “client” a uno remoto il “server” . Nello specifico upload rappresenta un cambio di stato dei dati contenuti all’interno di file trasferiti (dal punto A al punto B) dove A & B sono il client che è colui che invia i file ed il server è chi li riceve ma in pratica parliamo solo di due computer con fini diversi.
Breve introduzione storica
In origine la parola Upload non vava un significato esteso come lo intendiamo oggi. La trasmissione dei file tra Computer in rete divenne realtà dal Gennaio del 1978 grazie a Ward Christensen e Randy Suess, membri del CACHE (Chicago Area Computer Hobbyists Exchange). I due crearono il “Computerized Bulletin Board System” (CBBS). Un software che consentiva la trasmissione dei file in forma binaria via MODEM e poi in seguito XMODEM. Oggi Il protocollo più usato per il trasferimento di file è l’ FTP “File transfer Protocol” che utilizza una trasmissione TCP/IP.
Come fare l’upload di uno o più file
Il caricamento di file da un PC ad un computer remoto, avviene attraverso internet o una rete interna. Per effettuare l’ upload per prima cosa bisogna stabilire la connessione tra il client e il server. La connessione richiede l’utilizzo delle credenziali di accesso come username e password e Il trasferimento può avvenire
- tramite la riga di comando da terminale
- attraverso un client FTP, software per il trasferimento dei file
- mediante il file manager via Web se forniti direttamente dal server.
Per motivi di praticità i client FTP grazie all’interfaccia grafica sono la soluzione più comune.
Tipi di caricamento
A differenza di chi per Upload intende la serie TV; a questo punto dovresti aver capito che se stai caricando i file del tuo sito nel tuo spazio Web, o in Cloud; stai eseguendo operazioni di Upload! Più nello specifico si distinguono in:
- Trasferimento file Da PC Client al Server.
- Remote Loading quando il caricamento avviene da un Computer remoto.
- Peer to peer (P2P) connessione tra PC per scambi di file e dati End to End.
- Cload upload solitamente tramite HTTPS + API

Esempi di Upload
Il fine è lo stesso ma non il mezzo e per chiarire ulteriolmente i processi di caricamento facciamo alcuni esempi. Abbiamo l’upload da remoto che può essere il tipico invio di un file allegato via email. Il protocollo P2P (Peer to Peer) un esempio famoso è il protocollo utilizzato per l’invio e la ricezione di Bitcoin. FTP è il protocollo base che si utilizza per la trasmissione dei file tra PC e Server ma spesso sostituito da FTPS su TLS e SFTP basato su SSH più sicuro . Un esempio pratico sono le operazioni di caricamento dei file di un sito Web. Mentre per il Cloud Uploading facciamo riferimento a servizi come Google Drive, OneDrive, DropBox che per la maggiore si basano su HTTPS + API ma ci sono anche piattaforme che utilizzano REST API combinato con JSON su HTTPS.
Funzioni di upload in programmazione
I linguaggi di programmazione per il Web sono già predisposti per gestire l’ Upload. In particolare mi riferisco ai così detti linguaggi lato server. Tra i più famosi abbiamo (PHP, ASP e JSP ECMA Script). Questi linguaggi e non solo, hanno a disposizione apposite funzioni per gestire il caricamento dei file.
Ad esempio in PHP si dispone del metodo HTTP POST e della super global $_FILES che è un array dedicato alla gestione dei file, consente di accedere a informazioni come nome, percorso temporaneo del file, dimensione e tipo.