HTTP speed much lower than FTP speed for same file

  • Thread starter Thread starter H. Debs
  • Start date Start date
H

H. Debs

Downloading a certain file from a certain server via FTP gives a
relatively smooth download speed curve which stays at max bandwidth
while the download lasts. Doing the same thing via HTTP from the same
site with the same file produces a speed curve which zigzags, giving
an average download speed which is 3 to 4 times slower.
I've tried uninstalling and resinstalling tcp/ip to reset parameters
to defaults, uninstalling the NIC device, using tcp parameter and MTU
optimizers... but nothing seems to correct this problem.
Anyone knows where this is coming from?

Thanks.

Habib
 
When doing FTP with HTTP, the HTTP encapsulates a special form of
"read-only/download-only" FTP inside the HTTP packet. This is why when
running FTP with a browser using a "CERN Compliant HTTP Proxy" you are only
able to download and not upload.

Most browser uploads are done with "components". There is a "non-component"
ASP based upload but the scripting for it is very extensive. Samples of
that can be found by using "ASP Upload" in a search engine of your choice.

So HTTP has a higher overhead when doing this than with the "real"
Winsock-based (Sockets-based with Unix/Linux/Mac) FTP.
 
Absolutely normal.

HTTP will always be slower than FTP, due to a larger header on the packets and more time spent wrapping/unwrapping them.
 
Thanks Philip and Jeff for your answers...

.... but I'm not convinced. You see, a couple of days ago, the http
speed curve was quite similar to the ftp curve, pretty flat during the
download. Perhaps average speed with http was a couple of % slower
than average ftp speed on that download, but I'm seeing a drop of 75%
now!
The http download speed curve was pretty flat and constant before.
Now it's zig-zagging between max and 0, and staying at zero more than
at max (staying at zero for around 1.5 sec!!! and at max for around
0.5 sec). So with a 5Mbps bandwdith, I'm getting average speed of
around 850kbps with http and 4.9Mbps with ftp - same file, same
server, same time. That can't be normal - as I said, it wasn't like
that a couple of days ago. I've also disabled the firewall, but no
change.
Lately I have been attempting to tune my tcp settings for my new ISP,
but certainly did not leave the system tuned to the way it is behaving
now. My adsl modem updated its firmware the night before I noticed
this problem. Could this problem be due to this ***and*** Win2K? You
see, the problem does not exist on the same machine (and same modem)
when booted under WinXP!!!
I'm stomped... :(
Thanks for any further help or ideas.

Habib


Jeff Strubberg said:
Absolutely normal.

HTTP will always be slower than FTP, due to a larger header on the
packets and more time spent wrapping/unwrapping them.
 
Thanks Phillip. Please read my answer under Jeff's message.

I'm actually interested in the download side of the http transfer, as
I use a special test site of my ISP's to test my connection speed. Is
it possible that, prior to this problem, clicking on the dowload link
actually did an FTP download and now it's doing an HTTP download
instead? Is this configurable in I.E. ? Why is this occuring only
when I boot under Win2K and not under WinXP (same machine)?

Thanks for your help.

Habib


Phillip Windell said:
When doing FTP with HTTP, the HTTP encapsulates a special form of
"read-only/download-only" FTP inside the HTTP packet. This is why when
running FTP with a browser using a "CERN Compliant HTTP Proxy" you are only
able to download and not upload.

Most browser uploads are done with "components". There is a "non-component"
ASP based upload but the scripting for it is very extensive. Samples of
that can be found by using "ASP Upload" in a search engine of your choice.

So HTTP has a higher overhead when doing this than with the "real"
Winsock-based (Sockets-based with Unix/Linux/Mac) FTP.

--

Phillip Windell [MCP, MVP, CCNA]
www.wandtv.com

H. Debs said:
Downloading a certain file from a certain server via FTP gives a
relatively smooth download speed curve which stays at max bandwidth
while the download lasts. Doing the same thing via HTTP from the same
site with the same file produces a speed curve which zigzags, giving
an average download speed which is 3 to 4 times slower.
I've tried uninstalling and resinstalling tcp/ip to reset parameters
to defaults, uninstalling the NIC device, using tcp parameter and MTU
optimizers... but nothing seems to correct this problem.
Anyone knows where this is coming from?

Thanks.

Habib
 
The problem seems to have disappeared just as ambiguously as it
appeared.
I changed a setting and it repaired it. AHA!, said I, that's it! So I
switched back to make sure.. but no, it was still working correctly.
Don't really care to dig more into it now.

I made some measurements for you guys:

Download via HTTP vs FTP:
-------------------------
Connection is ADSL 5.0Mbps/330Kbps sustainable max (i.e. 610 KB/s down
and 40 KB/s up)
Both downloads from the same site which has a very big pipe.
Both downloads done at my max download speed (at night, least
traffic).
Downloaded file size is 400MB.
"Gross speed" is measured using windows "Bytes received per second"
statistic
"Net speed" is measured by the application.
1 KB/s = 8.192 kbps

FTP: (with FileZilla 2.2.7)
Gross speed: 587 KB/s
Net speed: 571 KB/s
Overhead : 2.8%

FTP: (with CuteFTP 2.8)
Gross speed: 594 KB/s
Net speed: 578 KB/s
Overhead : 2.8%

HTTP: (with I.E. 6.01)
Gross speed: 596 KB/s
Net speed: 580 KB/s
Overhead : 2.8%

Hmmm... I guess HTTP transfers are not that bad then. Same overhead,
same speed, even a tad faster.

Regards,

Habib
 
Back
Top