Post2Host via SSL, Fehler gefunden
bearbeitet von
Tach!
> Jetzt bleibt nur noch die Frage, ob es geschickt ist, ganze Dateiinhalte (Megabytes) per **application/x-www-form-urlencoded** zum Server zu schaffen, oder ob man dafür doch besser **multipart/form-data** benutzen sollte?
Übertragen werden müssen die Daten ja wohl auf jeden Fall. Was sind die Eigenschaften der beiden Typen?
application/x-www-form-urlencoded überträgt alles als lange String-Wurst `key=value&key=value`. Alles was kein alphanumerisches Zeichen ist, muss prozentkodiert werden. Das geht bei Binärdaten sehr auf die zu übertragende Menge. Nicht wesentlich besser wird die Sache, wenn Komprimierung eingesetzt wird. Am Server muss auf alle Fälle alles %XX-Zeug wieder rausgeparst werden. Diese Methode kann man bei den geplanten Datenmengen lediglich für Text-Inhalt oder Base64-kodierte Daten ohne gravierende Nachteile nehmen. Base64 braucht dann aber auch wieder eine Dekodiervorgang. - PHP belegt dann auch noch viel Speicher, weil es dir die Daten in $_POST übergibt, also im Memory.
multipart/form-data hingegen kann Daten auch ohne weiteres binär transportieren. Damit enfällt das Kodieren auf Senderseite und das Dekodieren auf Empfängerseite. Der Empfangsprozess muss lediglich nach der Boundary Ausschau halten. Zudem schreibt dir der Webserver eine Datei, und schont so den Arbeitsspeicher.
dedlfix.