We have some files on our website that users of our software can download. Some of the files are in virtual folders on the website while others are on our ftp. The files on the ftp are generally accessed by clicking on an ftp:// link in a browser - most of our customers do not have an ftp client. The other files are accessed by clicking an http:// link in a browser.

Should I move all the files to the ftp? or does it not matter? Whats the difference?

+4  A: 

If speed matters to your users, and they are technically inclined, http allows multiple connections for one file (if the client supports it. I use DownThemAll). Most browsers should handle ftp links just fine, though.

+2  A: 

I think it doesn't matter really, because the ftp is also transparent nowdays. You don't have to know anything special, the browser handles all.

I suggest that if they are downloading one file at one time, you can go to http.

However if they have to download several files with one go, I prefer ftp, because it's much more easy to manage.

There are some nice broswer extensions as _l0ser mentioned, but I prefer ftp for mass file-transfer.

+3  A: 

I think most users, even today, are more familiar with http than ftp and for that reason you should stick with http by default unless there's a compelling reason to use ftp. It's nit-picking, though.

James D
+5  A: 

HTTP has many advantages over FTP:

  • it is available in more places (think workplaces which block anything other than HTTP/S)
  • it works nicely with proxies (FTP requires extra settings for the proxy - like making sure that it allows the CONNECT method)
  • it provides built-in compression (with GZIP) which almost all browsers can handle (as opposed to FTP which has a non-official "MODE Z" extension)
  • NAT gateways must be configured in a special mode to support active FTP connections, while passive FTP connections require them to allow access to all ports (it it doesn't have conneciton tracking)
  • some FTP clients insist on opening a new data connection for each data transfer, which can leave you with a lot of "TIME_WAIT" sockets
+1  A: 

Both FTP and HTTP seem sufficient for your needs, so I would definitely recommend choosing the simplest approach, which is either to leave things as they currently are or consolidate on HTTP.

Personally, I would put everything on HTTP. If nothing else, it eliminates an extra server. There is no compelling reason to choose FTP over HTTP anymore, and there are a few small advantages to HTTP (as others have pointed out).

Derek Park