Uploading is computer jargon for sending files or other data from one computer to another, taking the initiative of the sending computer. The sender is called client, the receiver is called server. If you want to make data from a local computer accessible to the Internet, for example X-Stream.co.uk, it is done with an upload, but sending e-mail with SMTP is also an upload.
Also, transferring files from external data sources such as a CD-ROM or a digital camera to your own computer can be referred to as uploading. The convention is used to refer to uploading when there is data transfer from a small medium (e.g. a CD-ROM) to a large medium (e.g. the computer). For downloading, the opposite is true.
Upload from a browser
For uploading files from a form in a web browser (via HTTP), W3C formulated a standard encoding: multipart/form data. This encoding allows one or more files to be sent to the server in one request together with other form elements. On the server, the requested request can be dissected in the original data and files.
In the early days of the global web, it was not possible to upload a file from the browser. For Internet Explorer version 3, a special add-on had to be installed to make this possible. Netscape supports file upload from version 3. As of 1997, file upload has been built into browsers by default.
Upload with FTP
You can also upload a file via FTP. This requires an FTP client (to send the file) and an FTP server (to receive the file).
Upload vs. download
The reverse process: transfer or copy files from a server to the client is called download.
The result of both uploading and downloading is that a file is copied from one computer to another. Upload and download the terms are applied from the client’s perspective. The program that starts the activity is the client, the program that allows the activity (or possibly refuses, for example, if an erroneous login is used) is the server.
P2P programs like Kazaa are both client (when downloaded to the local computer) and server (file provider for download). Then the client is uploading and downloading.