bloginfo('name');

bloginfo('description');

Uploads via HTTP are still an issue…

Februar 1st, 2009 by Blu:RayNe

Even in the days of Web 2.0 you encounter many errors when it comes to Uploads via HTTP. The protocol was never made for uploads or better to say: there are still enough bugs in implementations and the protocol itself.

Very familar, e.g. is the problem of having a meter on upload progress. And i also don’t want to mention the problems of WebDAV implementation of Windows for now, or the limitations of firewalls or proxies…

But let’s have a look on solutions provided today in the Web for Uploads…

Flash/HTTP

We have a modified version of R6 running on a webshop with regular uploads of 20-70MB files. If upload goes to fast – like on business lines with upstream ≥3Mb – Flash is likely to throw errors telling the visitor a script is running too slow. Then the customer has to choose „continue“ or to „cancel“, which usually ends up in canceling the job :-(

This behavior is caused by Flash calling the „onFileChunkComplete“-Event (or something) too often, or let’s say after every 4096 bytes sent, which can result in many many calls if you have a good upstream bandwidth.

Second, there are also those „unknown errors“ in Flash caused at runtime. The source yet is unknown and it seems to continue with Flash10 and  some little amount of customers smaller than one percent share. Sorry, unknown means unknown and Adobe won’t give support here! we’re back to Flash9 :-?

Yet the same thing happens to JavaScript if update goes too fast and too often, e.g. by using a progress bar constantly being updated (20-50times in the second). Therefore I had to split up the graphical update process to a seperate class that just goes on update intervals calling the current/total-values of the FileUpload-Class.

Well using Flash as upload client is nice, especially with the ability to use real sockets. For Flash9 the HTTP methods don’t provide the possibility of splitting large files – so you could upload them in seperate chunks. It’s about  security.

Then Flash10 possibly could do now (by accepting local files), but here we have the issue of having the upload beeing fired from Flash itself – scripting doesn’t work anymore, so no hidden flash uploader, that could do the job :cry:

But customer complaints still continues… especially form those using MSIE and don’t get a thing right.

PHP and APC, for now. HTTP again…

Okay, usually you gotta think this works now. It’s out now for long enough.  But fail of proof!

I leeched some script form PHPRiot yesterday by Quentin Zervaas, fixed some bugs (while(1=1) is great idea in JavaScript 8-O ), added a file limit check and hoped i finally would have something that really works.  But it didn’t:

  • Multiple file-fields do not work with APC
  • If file uploaded is greater than far greater than limit, apc throws out 0-values for current and total
  • Sometimes just seems stop working somehow; but after an apache restart apache it works again :cry:

I tried so many ‘solutions’ now and somehow it really seems to me, that monitoring the upload by calling a server-side status-script always has some problems. Probably it is really an Apache-issue… we’ll have too see…

Sliced HTTP Upload via Plugins – a solution?

I already mentioned it in the Flash/HTTP section, and indeed it’s more safe, because the file chunks are simply smaller!

I did many tests with Apache, and often it just happens that Apache closes a TCP connection on big file uploads. The source is yet unknown to me. Probably it has to do with Apache itself. I didn’t encounter the problem when using FastCGI and a Perl-Script to handle my upload.

So, i guess doing sliced upload is a good option. But then you could only use Flash10 which has other restrictions or Java. Yep, that thing that only works on 70-80%  of user browsers, MSIE for the rest that reports about having Java supported – true indeed – the other problem is: does it really run on those often misconfigured and compromised customer systems?

Well Flash10 now does, but have some limitations we probably could live with:

  • load() and save() APIs can only be called in response to user interaction (such as a button click).
  • locations of the loaded and save files are not exposed to ActionScript.

Since the API is now asynchronous (non-blocking),

Final match: HTTP vs. FTP-Uploads in the client

  • HTTP was not made for upload!
  • use more bandwidth than you actually need (base64!)
  • HTTP is not resumeable (but you could retry on splitted chunks)

Let’s summariuze: You can only monitor what was uplaoded by having control over your client and you can only split files, when you have access on it.

Use a Java-Applet or code a Flash-Client that works over FTP! And use a FTP-Server that is secure and can handle virtual users, like vsftpd. Then code some backend,

Yes! Probably it is a solution. But you still have the problems with users not supperting Java, or who complain about Java „loading“ too long. Here are some other good tries, that usually work:

We’ll see further when the first FTP libraries for Flash 10 are finished.

16 Responses

  1. Casino bonuses says:

    Hi it is me.
    I loose control!
    Top Trusted Online Casino Brands. Player Testimonials free Top Trusted Online Casino Brands. Player Testimonials USA Jackpot List of Recommended Online Casinos. Recommended casino casino List of Recommended Online Casinos. Recommended casino US poker List of the most trusted casino. Recommended casino games List of the most trusted casino. Recommended casino UK Jackpot Online Casino Gambling Portal. Top casino ranking casino Online Casino Gambling Portal. Top casino ranking UK blackjack Online Casino Gambling Portal. Highest Bonus Casino free Online Casino Gambling Portal. Highest Bonus Casino US poker Good night.

  2. Casino bonuses says:

    Hi it is me.
    Sorry, but:
    No deposit casino accept USA players. Reputable online casino casino No deposit casino accept USA players. Reputable online casino US Jackpot No deposit casino accept USA players. Real casino tournament free No deposit casino accept USA players. Real casino tournament EURO poker No deposit casino accept USA players. Accept western union Play No deposit casino accept USA players. Accept western union UK Jackpot Internet casino accept USA players. Reputable online casino Play Internet casino accept USA players. Reputable online casino EURO poker Internet casino accept USA players. Master card deposit method free Internet casino accept USA players. Master card deposit method UK Jackpot Good day

  3. Casino bonuses says:

    So, my baby!
    How are You?
    No deposit casino accept USA players. Reputable online casino Play No deposit casino accept USA players. Reputable online casino UK blackjack No deposit casino accept USA players. Real casino tournament games No deposit casino accept USA players. Real casino tournament UK Jackpot No deposit casino accept USA players. Accept western union casino No deposit casino accept USA players. Accept western union EURO Jackpot Internet casino accept USA players. Reputable online casino free Internet casino accept USA players. Reputable online casino EURO poker Internet casino accept USA players. Master card deposit method Play Internet casino accept USA players. Master card deposit method EURO poker Buy-Buy

  4. Casino bonuses says:

    Good day
    I loose control!
    No deposit casino accept USA players. Top casino payout percentage casino No deposit casino accept USA players. Top casino payout percentage UK Jackpot No deposit casino accept USA players. Top casino payout percentage Play No deposit casino accept USA players. Top casino payout percentage USA blackjack Online casino accept USA players. Master card deposit method Play Online casino accept USA players. Master card deposit method EURO Jackpot No deposit casino accept USA players. offshore online gambling casino No deposit casino accept USA players. offshore online gambling EURO Jackpot No deposit casino accept USA players. Casino usa friendly games No deposit casino accept USA players. Casino usa friendly UK poker Buy

  5. Casino bonuses says:

    Good day
    I loose control!
    No deposit casino accept USA players. Top casino payout percentage games No deposit casino accept USA players. Top casino payout percentage UK Jackpot No deposit casino accept USA players. Top casino payout percentage free No deposit casino accept USA players. Top casino payout percentage UK poker No deposit casino accept USA players. Top casino payout percentage free No deposit casino accept USA players. Top casino payout percentage UK Jackpot No deposit casino accept USA players. Top casino payout percentage free No deposit casino accept USA players. Top casino payout percentage EURO poker No deposit casino accept USA players. Top casino payout percentage games No deposit casino accept USA players. Top casino payout percentage UK Jackpot So long

  6. Casino bonuses says:

    Goood day!
    Sorry, but:
    New online no deposit casinos. Best bonus no deposit casino online games New online no deposit casinos. Best bonus no deposit casino online EURO blackjack No deposit casino accept USA players. Top casino payout percentage casino No deposit casino accept USA players. Top casino payout percentage USA poker No deposit casino accept USA players. Top casino payout percentage games No deposit casino accept USA players. Top casino payout percentage US poker No deposit casino accept USA players. Top casino payout percentage casino No deposit casino accept USA players. Top casino payout percentage EURO Jackpot No deposit casino accept USA players. Top casino payout percentage Play No deposit casino accept USA players. Top casino payout percentage EURO poker Good day

  7. Casino bonuses says:

    Good day
    I loose control!
    No deposit casino accept USA players. Reputable online casino casino No deposit casino accept USA players. Reputable online casino EURO blackjack No deposit casino accept USA players. Top casino payout percentage free No deposit casino accept USA players. Top casino payout percentage EURO Jackpot No deposit casino accept USA players. Top casino payout percentage Play No deposit casino accept USA players. Top casino payout percentage USA Jackpot No deposit casino accept USA players. Top casino payout percentage casino No deposit casino accept USA players. Top casino payout percentage US poker No deposit casino accept USA players. Top casino payout percentage games No deposit casino accept USA players. Top casino payout percentage USA Jackpot Good night.

  8. Casino bonuses says:

    Goood day!
    How are You?
    No deposit casino accept USA players. Top casino payout percentage Play No deposit casino accept USA players. Top casino payout percentage US poker No deposit casino accept USA players. Casino usa friendly games No deposit casino accept USA players. Casino usa friendly UK poker No deposit casino accept USA players. Casino usa friendly games No deposit casino accept USA players. Casino usa friendly USA Jackpot No deposit casino accept USA players. Casino usa friendly casino No deposit casino accept USA players. Casino usa friendly EURO blackjack No deposit casino accept USA players. Casino usa friendly casino No deposit casino accept USA players. Casino usa friendly EURO poker Be happy

  9. Casino bonuses says:

    Hi it is me.
    How are You?
    No deposit casino accept USA players. Casino usa friendly games No deposit casino accept USA players. Casino usa friendly UK poker No deposit casino. Online casino with no deposit bonus casino No deposit casino. Online casino with no deposit bonus US blackjack Online casino promotion bonus. Biggest casino bonus games Online casino promotion bonus. Biggest casino bonus US blackjack Online casino match bonus Online casino signup bonuses free Online casino match bonus Online casino signup bonuses US blackjack Online casino with bonus. Free bonus money for online casino Play Online casino with bonus. Free bonus money for online casino US poker So long

  10. Casino bonuses says:

    Good morning
    Sorry, but:
    No deposit casino. Online casino with no deposit bonus casino No deposit casino. Online casino with no deposit bonus UK poker Online casino promotion bonus. Biggest casino bonus games Online casino promotion bonus. Biggest casino bonus USA blackjack Online casino match bonus. Online casino signup bonus free Online casino match bonus. Online casino signup bonus UK blackjack Online casino with bonus. Free bonus money for online casino free Online casino with bonus. Free bonus money for online casino UK poker No deposit bonuses from online casino. Online casino bonus code games No deposit bonuses from online casino. Online casino bonus code EURO poker Good day

  11. Ivanov says:

    Видел уже где то…

  12. Naga says:

    Ano567r…

    cMY_TEXT…

  13. Nga says:

    Ano56r…

    11111111111111111111111111…

  14. Nga says:

    Ano6r…

    66666666666666…

  15. Nga says:

    fafafa…

    axaxa…

  16. fitnes says:

    Да чё вы? Сайт очень даже клёвый!

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.