Many sites, such as Facebook or a blog, will allow a user to upload or download files to the site for a myriad of reasons, such as pictures for a website or files for a forum or blog software. In either case, there are two ways to upload a file to a server or website: using HTTP or using FTP.
Uploading via HTML
In order to update a file to a website, all the user needs is a modern internet browser. However, on the server side of the website, a site programmer has to implement a system that can handle a file upload. The programmer has several options to perform this, from a simple HTML upload to more advanced forms with languages such as PHP and ASP, for use in a forum or a blog. With downloading, all a user has to do is click on a link.
Uploading via FTP
FTP, or File Transfer Protocol, predates HTTP by quite some time. However, FTP is used primarily by webmasters and web developers who need to upload files directly to their servers. In order to use an FTP server, you will need an FTP client to connect to it. Free FTP programs include FileZilla and CoreFTP, and can be found in the resources section below.
Advantages and Disadvantages of HTTP
HTTP uploads provide an incredibly simple method of uploading files to a server, with minimal knowledge about file transfers. Downloading a file is also incredibly easy too. However, the disadvantages lie in HTTP's lack of power when it comes to file uploading. Also, a programmer needs to have the knowledge required to create the form in HTML, in order to upload the file in question. This especially is true if the file is for a social network similar to Myspace or Facebook that they're creating.
Advantages and Disadvantages of FTP
Using a FTP server offers advantages of its own. For one, a user can use a program to perform a mass upload to a server, not having to worry about repeatedly having to rebrowse for files and re-upload them using one form. Downloads can also be done en masse as well. Unfortunately, an FTP server still requires an FTP client to use, and the use of one would be particularly cumbersome to those who just wanted to upload a picture or two.
Ultimately, FTP and HTTP file transfers have completely different purposes. FTP's file transfer purpose is more or less for website maintenance and batch uploads, while HTTP is for client-end work and for end users to upload things such as movies, pictures and other files to the server. Often times, a programmer will use FTP to upload the files that allow an end-user to upload files via HTML/HTTP as well.