Link to home
Start Free TrialLog in
Avatar of rskathait
rskathait

asked on

File Upload FTP vs. HTTP PerformanceComparision ????

I want to upload files (Binary as well as Text) to my web server.

I wnat to know which one will give me better performance and why

1. HTTP upload using 'multipart/form-data'
OR
2. FTP functions of 'Wininet' library.

Also what are the isues behind their choices?


Thanks in anticipation.
rskathait
Avatar of jhance
jhance

FTP is more effient that HTTP.  But it has the drawback of requiring the FTP server to be setup and running on the server.  For small files you'll not get much improvement but if you intend to upload many large files, FTP is superior.
Avatar of rskathait

ASKER

Thanks,

Can you tell me why??? and what are the issue???

These 2 questions have the 80% of total points.


rsKathait
listening
Let me find it.  I have an article comparing the overhead of the two protocols.  HTTP is designed to be simple at the cost of efficiency, FTP is designed to be efficient at the cost of simplicity.
ASKER CERTIFIED SOLUTION
Avatar of jhance
jhance

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hello jhance, that article will be a great help. Thanks. I also agree that FTP will be faster then HTTP but I do not know why???
Hi,

I read the article that clears most of the doubts. I will wait for a week before grading your comment to get more accurate answer.

This article is discussed on the point that FTP is file transfer and HTTP is for interactive file transfer.

Thanks a lot,
rsKathait
FTP resides on session+presentation layer where does HTTP lies??

Also can I use UDP over internet???
>>FTP resides on session+presentation layer where does HTTP lies??

From the OSI layer model perspective, FTP and HTTP are identical.  Along with other application level protocols like: POP3, SMTP, HTTPS, IMAP, IRC, etc...

>>Also can I use UDP over internet???

Yes, but what does that have to do with this question?
UDP - I thought if I can use UDP, it will be faster. Is it silly??? Forgive me.


rsKathait
UDP can be faster but remember UDP is unreliable.  If you don't care if the data makes it to the destination or not, then UDP can be a useful choice.
fpt is faster becase fpt was desing for :

File Transfer Protocol (FTP)
The protocol used for copying files to and from remote computer systems on a network using a Transmission Control Protocol/Internet Protocol (TCP/IP), such as the Internet. This protocol also allows users to use FTP commands to work with files, such as listing files and directories on the remote system.


Avatar of Richie_Simonetti
Just a comment...
FTP is not always faster. Some sites (at least in my country) use less powerfull machines to the job than they use to http services.
Cheers
> Also what are the isues behind their choices?

There is a 3rd choice. HTTP PUT. It seems to me that is more analagous to FTP than the HTTP multi-part form upload. Multi-part form requires you to have content on your web server (cgi etc) that handles the upload. HTTP PUT simply requires you provide the appropriate access control.

The real choice is down to security. If you're bothered about security then bog-standard FTP will lose since HTTPS is better. You can tunnel FTP over secure protocols but most web servers and ftp servers don't support it out of the box. You've also got to make sure the FTP client and tunnel as well as the server. If you opt for HTTPS then it's a question of PUT vs multi-part-form and this very much depends on how well you can lock down the PUT and whether you want to write a web based form to assist in the upload or whether you just want to upload files arbitrarily.