Der Martin: Demo: JavaScript und Binärdateien, Multimedia

Beitrag lesen

Hallo,

HTTP wurde für Dokumente konzipiert. GET, PUT, POST - alles eigentlich für Einzeldokumente.

viel entscheidender ist IMO, dass bei HTTP das Haupt-Augenmerk auf den Download, also den Transfer vom Server zum Client, gelegt wurde.

Formdata ist schon eine Erweiterung, Multipart erst recht.

Ja, mag sein - aber nicht unbedingt, weil HTTP an der Stelle Schwächen hat. Theoretisch könnte man auch einen gewöhnlichen POST-Request bauen und genau wie beim GET-Response beliebige Daten im Request-Body mitgeben. Ein passender Content-Type dazu, fertig. Verarbeiten kann man die Daten dann stream-orientiert über php://stdin. EDIT: Sorry, das heißt wohl php://input /EDIT

Allerdings täuscht das den Programmierer leicht darüber hinweg, dass der gesamte Request-Body schon zum Server übertragen und zwischengespeichert wird, bevor das PHP-Script überhaupt gestartet wird (auch bei multipart/form-data). Das mag bei anderen Scriptsprachen anders sein.

Das Problem ist also nicht HTTP, sondern die Implementierung gängiger Scriptsprachen.

Für Dateien hat man eigentlich FTP gedacht. HTTP für Massentransfers ist mMn Zweckentfremdung, was man sofort bemerkt wenn man sich die Mühe ansieht, die man investieren muss um große Mengen zu übertragen ohne den Server lahmzulegen.

Naja, zumindest der Download großer Datenmengen über HTTP ist ziemlich unproblematisch.

So long,
 Martin

--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy