question: What happens when a file is downloaded vs uploaded, and why is uploading so much slower than downloading?
comment: Download: you receive a file Upload: you send a file Uploading is only slower because most consumer internet connections are not symmetrical (download bandwidth is greater than upload bandwidth) Edit: typo
passages: The higher data rate dial-up modems and many broadband services are "asymmetric"—supporting much higher data rates for download (toward the user) than for upload (toward the Internet).
   Upstream (networking)
  
  In computer networking, upstream refers to the direction in which data can be transferred from the client to the server (uploading). This differs greatly from downstream not only in theory and usage, but also in that upstream speeds are usually at a premium. Whereas downstream speed is important to the average home user for purposes of downloading content, uploads are used mainly for web server applications and similar processes where the "sending" of data is critical. Upstream speeds are also important to users of peer-to-peer software.
   Upload
  
  In computer networks, to upload is to send data to a remote system such as a server or another client so that the remote system can store a copy.
  
  Section::::Remote upload.
  
  Transferring data from one remote system to another under the control of a local system is remote uploading. 
   What this means for normal users is that if you use this and a server is slow, however the content is cached on the system, then (after the first upload) requests to that file will be fast. It also means that the request will not be satisfied by the original server, equivalent to free bandwidth.
  
  For rare files this system could be slightly slower than downloading the file itself. Especially for non-cacheable content, you may as well go to the origin host. The system's speed is also subject to the constraint of number of participating proxies.
   BULLET::::- Double-precision floating-point format – is a computer number format. It represents a wide dynamic range of numeric values by using a floating radix point.
  
  BULLET::::- Download – In computer networks, download means to receive data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is sent "to" a remote server. A "download" is a file offered for downloading or that has been downloaded, or the process of receiving such a file.
  
  Section::::E.
   Download
  
  In computer networks, download means to receive data from a remote system, typically a server such as a web server, an FTP server, an email server, or other similar systems. This contrasts with uploading, where data is sent "to" a remote server.
  
  A "download" is a file offered for downloading or that has been downloaded, or the process of receiving such a file.
  
  Section::::Definition.
   Downloading generally transfers entire files for local storage and later use, as contrasted with streaming, where the data is used nearly immediately, while the transmission is still in progress, and which may not be stored long-term. Websites that offer streaming media or media displayed in-browser, such as YouTube, increasingly place restrictions on the ability of users to save these materials to their computers after they have been received.
  
  Downloading is not the same as data transfer; moving or copying data between two storage devices would be data transfer, but receiving data from the Internet is "downloading".
  
  Section::::Copyright.
   Logging, editing and reviewing of uploaded material can start as soon as the upload process starts.
  
  Files containing video, audio and still may also be uploaded using a web browser from a wired or mobile device. Uploads can run concurrently and many formats are supported (e.g. AVI, MOV, ASF, 3GP).
  
  Section::::Components.:Java interface.
  
  Section::::Components.:Java interface.:Functionality.
  
  The Java interface works with the default configuration on most machines, though allocating more memory to the JVM improves performance. It enables the following functionality:
  
  BULLET::::- Video logging
  
  BULLET::::- Non-linear editing (including Multicam support)
  
  BULLET::::- Reviewing
  
  BULLET::::- Web publishing
  
  BULLET::::- Mobile publishing
  
  BULLET::::- Video podcasting
   Both ratios are then compared and the lower one is used as the modifier. A few conditions exist:
  
  BULLET::::- If the Uploaded Total is less than 1 MB, then the modifier will remain at 1.
  
  BULLET::::- If the client uploads data but doesn't download any, the modifier will be fixed at 10.
  
  BULLET::::- The modifier can only be between 1 and 10.
   A similar calculation can be performed using upstream bandwidths. Typically, advertised upload rates are 1/4 the download rates however the available upload bandwidth using DOCSIS 1.1 or 2.0 is also lower. If 100 users allocated 1.75 Mbit/s of upload bandwidth share a single DOCSIS 1.1 upstream, the upload oversubscription ratio is 17:1. One article found a typical DOCSIS download oversubscription ratio to be 28.125:1, while a best case oversubscription may be 12:1.
   BULLET::::3. Offline storage/archives data, which is when data is stored to an optical disk or magnetic tape for archival purposes because it was determined that the chance of needing access to the data is low. In this case, access is slower than near-line data because it requires manual retrieval. The speed of accessing such data can take days depending on storage facility arrangements.
   In an attempt to reduce file transfer times, an informal file encoding known as yEnc was introduced in 2001. It achieves about a 30% reduction in data transferred by assuming that most 8-bit characters can safely be transferred across the network without first encoding into the 7-bit ASCII space.
  
  The most common method of uploading large binary posts to Usenet is to convert the files into RAR archives and create Parchive files for them. Parity files are used to recreate missing data when not every part of the files reaches a server.
  
  Section::::ISPs, news servers, and newsfeeds.:Binary content.:Binary retention time.
   Upload components
  
  Upload components are software products that are designed to be embedded into a web site to add upload functionality to it. Upload components are designed to replace the standard HTML4 upload mechanism. Compared with HTML4, Upload Components have a more user-friendly interface and support a wider range of features.
  
  Section::::HTML file uploads.
   In a group of users that has insufficient upload-bandwidth, with demand higher than supply. Segmented downloading can however very nicely handle traffic peaks, and it can also, to some degree, let uploaders upload "more often" to better utilize their connection.
  
  Data integrity issues
  
  BULLET::::- Very simple implementations of segmented downloading technology can often result in varying levels of file corruption, as there often is no way of knowing if all sources are actually uploading segments of the same file.
   Upload components can be developed on the basis of various technologies aimed at extending browser functionality. Depending on the technology and its features, upload components can support more or less functionality, be more or less configurable, and be easier to use. 
  
  Section::::Technologies for creating upload components.:Java.
  
  Java Applets are components running in a web browser. They are developed in the form of Java byte code. The applets are supported by most modern operating systems and browsers. Java applets have high performance similar to native installed software. 
   In the past, files were distributed by point-to-point technology: with a central uploader distributing files to downloaders. With these systems, a large number of downloaders for a popular file uses an increasingly larger amount of bandwidth. If there are too many downloads, the server can become unavailable. The opposite is true for peer-to-peer networking; the "more" downloaders the "faster" the file distribution is. With swarming technology as implemented in file sharing systems like eDonkey2000 or BitTorrent, downloaders help the uploader by picking up some of its uploading responsibilities. There are many sites with links to One-click hosting websites and other sites where one can upload files that contribute to the growing amount of warez.
   BULLET::::- Data in the Cloud: User settings such as data of added servers, trusted certificates and so on are stored on-line and can be access from everywhere
  
  BULLET::::- Synchronize & Schedule: User can create a sync session to make his file up-to-date or a task for scheduler to perform routine work
  
  BULLET::::- Edit on-the-go: No more need to download file first and upload them after editing, with this feature user can edit file with two clicks
  
  BULLET::::- Built-in search engine: Search files through over a 4000 FTP servers with 850 TB total content
  
  Section::::See also.
  
  BULLET::::- File Transfer Protocol
   The end user experience is similar to streaming media, however the file is downloaded to a physical drive on the end user's device; the file is typically stored in the temporary directory of the associated web browser if the medium was embedded into a web page or is diverted to a storage directory that is set in the preferences of the media player used for playback. The file will stutter or stop playback if the rate of playback exceeds the rate at which the file is downloaded. The file will begin to play again after further download.
   BITS uses a queue to manage file transfers. A BITS session has to be started from an application by creating a "Job". A job is a container, which has one or more files to transfer. A newly created job is empty. Files must be added, specifying both the source and destination URIs. While a download job can have any number of files, upload jobs can have only one. Properties can be set for individual files. Jobs inherit the security context of the application that creates them.
   The drawback of this approach is a loss in quality, where the graphics acquire compression artifacts taking on a blurry or colorless appearance; however the perceived speed is dramatically improved. (If desired the user may choose to view uncompressed images instead, but at a much slower load rate.) Since streaming music and video are already compressed at the source, they are typically passed by the ISP unaltered.
  
  Section::::Performance.:List of dial-up speeds.
  
  Note that the values given are maximum values, and actual values may be slower under certain conditions (for example, noisy phone lines).
   BULLET::::- Retrieve download & delete URL links
  
  BULLET::::- Set upload limit bandwidth
  
  BULLET::::- Changing order of upload dynamically
  
  Section::::Future.
  
  In 2014, the Neembuu team released a new product called Neembuu Now.
  
  This new application allows users to watch and download videos at the same time.
  
  When user forwards the video, the previous buffer is not deleted unlike in YouTube and other similar streaming websites. It is planned that Neembuu Uploader and Neembuu Now would be merged in future.
  
  Section::::External links.
  
  BULLET::::- Upload tập tin lên 30 dịch vụ chia sẻ cùng lúc với Neembuu Uploader (Vietnamese)
   Section::::Existing and proposed laws.:Noncommercial file sharing.:Legality of uploading.
  
  Although downloading or other private copying is sometimes permitted, public distribution – by uploading or otherwise offering to share copyright-protected content – remains illegal in most, if not all countries. For example, in Canada, even though it was once legal to download any copyrighted file as long as it was for noncommercial use, it was still illegal to distribute the copyrighted files (e.g. by uploading them to a P2P network).
  
  Section::::Existing and proposed laws.:Noncommercial file sharing.:Relaxed penalties.
   The marketing reasons for an asymmetric connection are that, firstly, most users of internet traffic will require less data to be uploaded than downloaded. For example, in normal web browsing, a user will visit a number of web sites and will need to download the data that comprises the web pages from the site, images, text, sound files etc. but they will only upload a small amount of data, as the only uploaded data is that used for the purpose of verifying the receipt of the downloaded data or any data inputted by the user into forms etc. This provides a justification for internet service providers to offer a more expensive service aimed at commercial users who host websites, and who therefore need a service which allows for as much data to be uploaded as downloaded. File sharing applications are an obvious exception to this situation. Secondly internet service providers, seeking to avoid overloading of their backbone connections, have traditionally tried to limit uses such as file sharing which generate a lot of uploads.
   Section::::Traffic sources.
  
  File sharing constitutes a large fraction of Internet traffic. The prevalent technology for file sharing is the BitTorrent protocol, which is a peer-to-peer (P2P) system mediated through indexing sites that provide resource directories. The traffic patterns of P2P systems are often described as problematic and causing congestion. According to a Sandvine Research in 2013, Bit Torrent’s share of Internet traffic decreased by 20% to 7.4% overall, reduced from 31% in 2008.
  
  Section::::Traffic management.
   Section::::Technology and use.
  
  In a P2PTV system, each user, while downloading a video stream, is simultaneously also uploading that stream to other users, thus contributing to the overall available bandwidth. The arriving streams are typically a few minutes time-delayed compared to the original sources. The video quality of the channels usually depends on how many users are watching; the video quality is better if there are more users.
  