What is "up" or "down" about it? I mean, geographically it makes no sense. I can upload images, and download images - the former is away from my computer and the later is coming to it but why "up" and "down"?
-
3@tchrist: You will then just find people complaining that when they transfer a file from a remote server to their PC, they are putting that file on their PC; and when they transfer from their PC to the server, they are getting the file to the server.– John YCommented Feb 27, 2014 at 3:31
-
2@JohnY Only people who haven’t been learnt the right way.– tchrist ♦Commented Feb 27, 2014 at 4:05
-
3@tchrist Put and get are already technical terms for types of HTTP requests. Not every upload is a PUT and not every download is a GET.– SilverlightFoxCommented Feb 27, 2014 at 7:43
-
6Using file transfer protocol for file transfers? How quaint.– wimCommented Feb 27, 2014 at 11:02
-
1The larger computers/servers/chips/networks are always "higher" than the smaller ones which are "lower", so UP-to-DOWN goes: {Internet Servers, Local Servers, PC/Desktop/Laptop, Mobile devices, PLCs}. This was established at least as far back as the 70's.– RBarryYoungCommented Feb 27, 2014 at 21:24
5 Answers
It is the same concept as upstream and downstream in a river.
Heading upstream is heading toward the source of a river. Heading downstream is heading away from the source.
If you consider a computer server to be the source of a river: uploading is sending something up to the server (upstream to the source); downloading is pulling something down from the server (downstream from the source).
Alternatively, some people prefer to consider the stream bi-directional because this represents a closer picture to the truth.
In this metaphor, whoever is serving the file represents the upstream side, and whoever is receiving the file represents the downstream side.
Hence, when you download you are standing downstream waiting for the file to come down from the river's source (the server). And, when you upload, you become an ersatz server and the actual server now becomes the downloader. So, you are now the upstream, and the server is the downstream.
Regardless of which way you view things, Up and Down continue to agree directionally.
-
1Not to mention which you give things up when they leave your possession, and you might take down someone's details as part of the process of receiving that information. Commented Feb 27, 2014 at 2:54
-
1I see your point, however if I upload an image then the source is my local computer, if I download the image then the source is the server. So the source changes, thus uploading and downloading are both away from the source.– J JCommented Feb 27, 2014 at 2:56
-
@FumbleFingers Excellent usage of logical thinking, but it really is more the stream metaphor that was used here.– David MCommented Feb 27, 2014 at 2:57
-
@JJ Yes, you are correct. (More so than you realize!) When you reverse the transaction the server is downloading the files you are uploading . . . In this case, you are the upstream and the server is the downstream. Hence you have uploaded.– David MCommented Feb 27, 2014 at 2:58
-
1
Uploading originally meant loading up a cart, trailer, truck, etc. with items. In this sense it is of 19th century origin. As the OED cites:
1870 W. Barnes Select. from Unpubl. Poems 18 Low-headed horses slowly haul The newly-made hay, uploaded high.
1976 Aviation Week & Space Technol. 22 Mar. 57/1 At present most C-5/C-141 pallets have to be reconfigured prior to uploading the C-130, particularly the two pallet spaces in the wheel-well area.
Like many terms in computing (such as computer itself), a term from the physical world was applied to the task of putting data from one machine unto another, especially when the destination was larger or more significant in some way (which was often the case with client-server systems, especially in the 70s or earlier when the term came into use in this sense). Hence uploading files was compared with uploading goods.
Download was then the obvious antonym.
Like quite a few metaphors used in computing (again, like computer itself), the word is now rare in its original sense, and almost only used in the computing sense.
-
1Have you got a source for this? Every dictionary I've consulted says the term originated in 1977 (or 1979), and not a single one makes mention of carts, etc.– David MCommented Feb 27, 2014 at 3:51
-
Also, in the 1970s the usage was most used with regard to space program computers, in which case the the up side was actually the smaller computer. But, up was used because it was literally up. Down was used in a similar sense.– David MCommented Feb 27, 2014 at 3:54
-
1
-
1@DavidM I've added the first and last citation of usage from the OED to my answer. Commented Feb 27, 2014 at 8:53
-
1The word can certainly be found used in such sense, with that found by @Hugo a particularly interesting case as it contrasts it with download. Since that is demonstrated, it is the dictionary that omits it that is less useful here, than the dictionary that includes it. Commented Feb 27, 2014 at 15:06
I'd say this has to do with how hierarchies are traditionally drawn in IT (and pretty much everywhere) - the root/superior is at the top, the leaves/subordinates are at the bottom. It works the same way when drawing a schematic image of the network. You have the internet (with its servers) on top, then the local network beneath it (rooted at the router), and the client computer (the endpoint) at the very bottom.
This way, uploading and downloading corresponds to moving data up and down this diagram.
-
+1: Suprisingly, this is the only answer here that captures the salient point: UP and DOWN had to do with the infrastructure and networking hierarchy charts first seen in the 70's. Commented Feb 27, 2014 at 21:28
In computer programming stream is a very common term and describes way of exchanging data: one by one, in a specific order, first in - last out, no swapping (like a queue), and if something went through, there is no way to go back to it, no way to rewind and read it again.
This is the way files are transmitted via HTTP. Parties are connected by a stream, so we call upstream where the server is and downstream where the user is (the most common direction of transmision).
Hence upload - pushing files upstream, download - pushing files downstream.
-
Parties are not connected by a stream in HTTP. In that context, stream refers to the sequence of octets in either direction sent over the connection, and it is the connection that connects them. Downstream and upstream don't really work with that sense of stream, though they do in some other metaphorical uses. Commented Feb 27, 2014 at 11:12
-
HTTP lays on a TCP connection, which is a bidirectional stream of octets. But in most cases most of data goes in a server->client direction Commented Feb 27, 2014 at 14:52
-
The use of upload* and download in computer communications precedes the common usage of stream by quite a lot. Commented Feb 27, 2014 at 21:31
-
from the OED: "To transfer (data, etc.) from one computer or device to another (esp. to one that is larger or remote from the user, or is functioning as a server). Cf. download v."
from the American English Dictionary: "the action or process of transferring data to another computer system."
additionally: in the days before the web and the internet and social networks and cloud computing and PCs (or Macs) or tablets, phablets and smartphones, a person usually used a terminal connected to a huge server that might be connected to another gargantuan server. so up is a matter of size or cost -- as in upscale. so up is big, down is smaller; up is also higher up in the hierarchy of machines; down is where the servant machines (terminals, printers, modems, routers, etc., are.
does that make sense?
cheers!