Vai al contenuto

Upload

Da Wikipedia, l'enciclopedia libera.
Disambiguazione – Se stai cercando altri significati, vedi Upload (disambigua).

L'upload,[1] anche noto come caricamento, in informatica è il processo di invio o trasmissione di un file (o più genericamente di un flusso finito di dati o informazioni) da un client ad un sistema remoto (denominato server) attraverso una rete informatica;[2] l'azione inversa è chiamata download.

La navigazione web, ad esempio, è svolta in architettura client-server e, dal punto di vista utente, viene svolta esclusivamente in download.

Nella tecnologia di accesso alla rete Internet tramite ADSL, al flusso di upload tra destinatario e sorgente della comunicazione è associata una banda di trasmissione minore rispetto a quella in download (asimmetria o sbilanciamento) e quindi una velocità di trasmissione inferiore, in quanto tale flusso è inferiore a quello di trasferimento di informazioni utili all'utente consentendo così un risparmio della banda totale del canale full-duplex di comunicazione.

Icona che indica un upload
Icona che indica un upload

In particolare il traffico di upload comprende traffico di segnalazione ovvero tutte le richieste da parte del client-destinatario alla sorgente-server sia a applicativo sia sotto forma di Ack ovvero di conferme di pacchetti regolarmente ricevuti in una connessione TCP.

Il concetto di upload è fondamentale anche nelle architetture e programmi peer to peer (quali ad es. eMule, Direct Connect, Bearshare) poiché la sua configurazione influisce sulla quantità di file che permettiamo di scaricare in download dagli utenti esterni che dipende a sua volta dalla loro banda di upload. È quindi molto importante in questo caso scegliere un corretto utilizzo della banda suddividendola in modo equilibrato tra upload e download. In particolare la lentezza tipica del download dei PC client nelle reti P2P dipende essenzialmente dalla già discussa bassa capacità in upload, cioè in trasmissione, da parte dei PC server da cui si stanno scaricando dati dovuta alla tipologia di accesso alla rete ADSL.

Alcuni siti offrono servizi di upload e download che possono essere gestiti in modo pubblico o con l'obbligo della registrazione. Esistono ad esempio programmi che mettono (condividono) i file sul web, che vengono caricati in particolari siti di upload per poi permettere ad altre persone di scaricare i file che abbiamo caricato a velocità di download accettabili per la qualità di servizio richiesta generalmente dall'utente finale.

Sviluppo storico

[modifica | modifica wikitesto]

La condivisione di file in remoto è stata realizzata per la prima volta nel gennaio 1978, quando Ward Christensen e Randy Suess, membri del Chicago Area Computer Hobbyists 'Exchange (CACHE), hanno creato il Computerized Bulletin Board System (CBBS). Questo utilizzava un protocollo di trasferimento file precedente (MODEM, in seguito XMODEM) per inviare file binari tramite un modem hardware, accessibile da un altro modem tramite un numero di telefono[3].

Negli anni successivi furono rilasciati nuovi protocolli come Kermit[4], fino a quando il File Transfer Protocol (FTP) non fu standardizzato nel 1985 (RFC 959). FTP è basato su TCP/IP e ha dato origine a molti client FTP, che a loro volta hanno fornito agli utenti di tutto il mondo l'accesso allo stesso protocollo di rete standard per trasferire i dati tra i dispositivi.

Esempio di interfaccia con file in upload

Il trasferimento di dati ha visto un notevole aumento di popolarità dopo il rilascio del World Wide Web nel 1991, che, per la prima volta, ha permesso agli utenti che non erano appassionati di computer di condividere facilmente file, direttamente dal proprio browser web su HTTP[5].

Resumabilità dei trasferimenti di file

[modifica | modifica wikitesto]

I trasferimenti sono diventati più affidabili con il lancio di HTTP/1.1 nel 1997 (RFC 2068), che dava agli utenti la possibilità di riprendere i download interrotti, ad esempio a causa di connessioni inaffidabili. Prima che i browser web distribuissero ampiamente il supporto, programmi software come GetRight potevano essere utilizzati per riprendere i download. La ripresa dei caricamenti non è supportata da HTTP, ma può essere aggiunta con il protocollo aperto Tus per i caricamenti di file ripristinabili, che sovrappone la ripresa dei caricamenti alle connessioni HTTP esistenti[6][7].

Tipi di caricamento

[modifica | modifica wikitesto]

Caricamento da client a server

[modifica | modifica wikitesto]

La trasmissione di un file locale a un sistema remoto seguendo il modello client-server, ad esempio, un browser Web che trasferisce un video a un sito Web, è chiamato caricamento da client a server.

Caricamento remoto

[modifica | modifica wikitesto]

Il trasferimento di dati da un sistema remoto a un altro sistema remoto sotto il controllo di un sistema locale è chiamato caricamento remoto o trasferimento da sito a sito. Viene utilizzato quando un computer locale ha una connessione lenta ai sistemi remoti, ma questi sistemi hanno una connessione veloce tra di loro. Senza la funzionalità di caricamento remoto, i dati dovrebbero essere prima scaricati sul sistema locale e quindi caricati sul server remoto, entrambe le volte tramite una connessione più lenta. Il caricamento remoto viene utilizzato da alcuni servizi di hosting di file online. Un altro esempio può essere trovato nei client FTP, che spesso supportano il File eXchange Protocol (FXP) per istruire due server FTPcon connessioni ad alta velocità per lo scambio di file. Un esempio basato sul Web è l'uploader di file Uppy che può trasferire file dall'archivio cloud di un utente come Dropbox, direttamente a un sito Web senza prima accedere al dispositivo dell'utente[8].

Il peer-to-peer (P2P) è un modello di comunicazione decentralizzato in cui ciascuna parte ha le stesse capacità e ciascuna delle parti può avviare una sessione di comunicazione. A differenza del modello client-server, in cui il client effettua una richiesta di servizio e il server soddisfa la richiesta (inviando o accettando un trasferimento di file), il modello di rete P2P consente a ciascun nodo di funzionare sia come client che come server. BitTorrent ne è un esempio, così come l'InterPlanetary File System (IPFS). Il peer-to-peer consente agli utenti sia di ricevere (download) che di ospitare (upload) contenuto. I file vengono trasferiti direttamente tra i computer degli utenti. Lo stesso trasferimento di file costituisce un caricamento per una parte e un download per l'altra parte.

[modifica | modifica wikitesto]

La crescente popolarità della condivisione di file durante gli anni '90 culminò con l'emergere di Napster, una piattaforma di condivisione di musica specializzata in file MP3 che utilizzava la tecnologia di condivisione di file peer-to-peer (P2P) per consentire agli utenti di scambiare file liberamente. La natura P2P significava che non c'era un gatekeeper centrale per il contenuto, il che alla fine ha portato alla diffusa disponibilità di materiale protetto da copyright attraverso Napster.

La Recording Industry Association of America (RIAA) ha preso atto della capacità di Napster di distribuire musica protetta da copyright tra la sua base di utenti e, il 6 dicembre 1999, ha presentato una mozione per un'ingiunzione preliminare al fine di interrompere lo scambio di canzoni protette da copyright sul servizio. Dopo un appello fallito da Napster, l'ingiunzione è stata concessa il 5 marzo 2001[9]. Il 24 settembre 2001, Napster, che aveva già chiuso l'intera rete due mesi prima[10], accettato di pagare 26 milioni di dollari. insediamento.

Dopo che Napster ha cessato le operazioni, sono seguiti molti altri servizi di condivisione di file P2P, come Limewire, Kazaa e Popcorn Time. Oltre ai programmi software, c'erano molti siti Web BitTorrent che consentivano l'indicizzazione e la ricerca dei file. Questi file potrebbero quindi essere scaricati tramite un client BitTorrent. Sebbene il protocollo BitTorrent stesso sia legale e indipendente dal tipo di contenuto condiviso, molti dei servizi che non imponevano una politica rigorosa per rimuovere materiale protetto da copyright alla fine avrebbero anche incontrato difficoltà legali[11][12].

Esempio di interfaccia upload HTML 5

[modifica | modifica wikitesto]
<form method="post" enctype="multipart/form-data">
 <div>
   <label for="file">Scegli un file da caricare</label>
   <input type="file" id="file" name="file" multiple>
 </div>
 <div>
   <button>Invia</button>
 </div>
</form>
  1. ^ Il termine è entrato nell'uso corrente in italiano, come testimonia il dizionario Treccani già dal 2013. Upload, in Lessico del XXI secolo, Roma, Istituto dell'Enciclopedia Italiana, 2012-2013.
  2. ^ upload, su dizionari.corriere.it. URL consultato il 6 gennaio 2021.
  3. ^ Christensen, Suess, The Birth of the BBS. By Ward and Randy (1989), su chinet.com. URL consultato l'11 giugno 2020.
  4. ^ Template:Cite mailing list
  5. ^ Larry Enzer, The Evolution of the World Wide Web, su Monmouth Web Developers, 31 agosto 2018. URL consultato il 31 agosto 2018 (archiviato dall'url originale il 18 novembre 2018).
  6. ^ Kevin Van Zonneveld, tus 1.0 – Changing the future of uploading, su tus.io, 16 novembre 2015. URL consultato l'11 giugno 2020 (archiviato dall'url originale il 12 giugno 2020).
  7. ^ Jonathan Keane, Berlin-based Transloadit wants to fix broken file uploads once and for all, with support from Vimeo, su Tech EU, 16 novembre 2015. URL consultato l'11 giugno 2020.
  8. ^ David Walsh, Uppy File Uploading, su davidwalsh.name, 11 giugno 2018. URL consultato l'11 giugno 2020.
  9. ^ 2001 US Dist. LEXIS 2186 (N.D. Cal. Mar. 5, 2001), aff’d, 284 F. 3d 1091 (9th Cir. 2002)
  10. ^ Matt Richtel, Napster is told to remain shut, su nytimes.com, 12 luglio 2001. URL consultato l'11 giugno 2020.
  11. ^ Sarah Jacobson Purewall, LimeWire shut down permanently, su pcworld.com, 27 ottobre 2010. URL consultato l'11 giugno 2020.
  12. ^ Joris Evers, Judge orders shut-down of popular Napster-like site, su edition.cnn.com, 30 novembre 2001. URL consultato l'11 giugno 2020.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]