Transfers became more reliable with the launch of HTTP/1.1 in 1997, which gave users the option to resume downloads that were interrupted, for instance due to unreliable connections. Before web browsers widely rolled out support, software programs like GetRight could be used to resume downloads. Resuming uploads is not currently supported by HTTP, but can be added with the Tus open protocol for resumable file uploads, which layers resumability of uploads on top of existing HTTP connections.
Types of uploading
Client-to-server uploading
Transmitting a local file to a remote system following the client-server model, e.g., a web browser transferring a video to a website, is called client-to-server uploading.
Remote uploading
Transferring data from one remote system to another remote system under the control of a local system is called remote uploading or site-to-site transferring. This is used when a local computer has a slow connection to the remote systems, but these systems have a fast connection between them. Without remote uploading functionality, the data would have to first be downloaded to the local system and then uploaded to the remote server, both times over a slower connection. Remote uploading is used by some online file hosting services. Another example can be found in FTP clients, which often support the File eXchange Protocol in order to instruct two FTP servers with high-speed connections to exchange files. A web-based example is the Uppy file uploader that can transfer files from a user's cloud storage such as Dropbox, directly to a website without first going to the user's device.
Peer-to-peer
Peer-to-peer is a decentralized communications model in which each party has the same capabilities, and either party can initiate a communication session. Unlike the client-server model, in which the client makes a service request and the server fulfils the request, the P2P network model allows each node to function as both client and server. BitTorrent is an example of this, as is the InterPlanetary File System. Peer-to-peer allows users to both receive and host content. Files are transferred directly between the users' computers. The same file transfer constitutes an upload for one party, and a download for the other party.
Copyright issues
The rising popularity of file sharing during the 1990s culminated in the emergence of Napster, a music-sharing platform specialized in MP3 files that used peer-to-peer file-sharing technology to allow users exchange files freely. The P2P nature meant there was no central gatekeeper for the content, which eventually led to the widespread availability of copyrighted material through Napster. The Recording Industry Association of America took notice of Napster's ability to distribute copyrighted music among its user base, and, on December 6, 1999, filed a motion for a preliminary injunction in order to stop the exchange of copyrighted songs on the service. After a failed appeal by Napster, the injunction was granted on March 5, 2001. On September 24, 2001, Napster, which had already shut down its entire network two months earlier, agreed to pay a $26 million dollar settlement. After Napster had ceased operations, many other P2P file-sharing services followed in its wake, such as Limewire, Kazaa and Popcorn Time. Besides software programs, there were many BitTorrent websites that allowed files to be indexed and searched. These files could then be downloaded via a BitTorrent client. While the BitTorrent protocol itself is legal and agnostic of the type of content shared, many of the services that did not enforce a strict policy to take down copyrighted material would eventually also run into legal difficulties.