Untersuchen der Datenübermittlung bei POST-Queries

Im Zusammenhang mit der Übertragung von XML-Queries oder Ähnlichem für AJAX ist es von Vorteil zu wissen, wie die verschiedenen Möglichkeiten zum Übertragen von Daten per POST an einen Server genau funktioniert. Einige Fehler bei der Übertragung der Daten lassen sich damit schnell verstehen.

application/x-www-form-urlencoded

Ohne irgendwelche Angaben schickt der Browser die Daten in dieser Kodierung:
Content-Type: application/x-www-form-urlencoded
Sie wird auch verwendet, wenn im Formtag dieses Attribut verwendet wird:

enctype="application/x-www-form-urlencoded"

Der Body der Nachricht sieht dann wie folgt aus:

param1=jjhkjh&param2=ghzzvfh+asd+asdas&inhalt=inhalt+der+tt%0D%0Asadasd%0D%0Asad%0D%0Aasd%0D%0A%0D%0Aas%0D%0Ada%0D%0As

Sie ist also wie der Content-Type schon sagt URL kodiert und könnte auch einfach wie sie ist in einem GET-Aufruf benutzt werden. Zu beachten ist, dass mit dieser Methode keine Dateien übertragen werden können. Hier wird lediglich der Dateiname übertragen, der eigentliche Inhalt nicht.

multipart/form-data

Die zweite Möglichkeit ist dieser Typ:
enctype="multipart/form-data"

Hierbei wird jeder einzelne Parameter in einem durch einen Boundary-abgetrennten Bereich transportiert, ähnlich wie das bei MIME-Messages geschieht. Diese Methode ist auf jeden Fall zu wählen, wenn eine oder mehrere Dateien zum Server übertragen werden sollen, im Gegensatz zur ersten Methode ist auch der Transport von Binär-Dateien möglich.

Beispiel:


POST /admin/users HTTP/1.1
Host: atlas.mf.devel
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20060117 Firefox/1.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://atlas.mf.devel/admin/users?action=edit&id=51&order=ldap&sessionid=e4a6a108394d2d124b89e73d0c4ff5391&style=popup&style=popup
Cookie: sessionid=e4a6a108394d2d124b89e73d0c4ff5391
Content-Type: multipart/form-data; boundary=---------------------------12440347477298357471720878039
Content-Length: 4599
-----------------------------12440347477298357471720878039
Content-Disposition: form-data; name="atk"

74609419
-----------------------------12440347477298357471720878039
Content-Disposition: form-data; name="id"

51
-----------------------------12440347477298357471720878039
Content-Disposition: form-data; name="action"

update
-----------------------------12440347477298357471720878039
Content-Disposition: form-data; name="offset"

-----------------------------12440347477298357471720878039
Content-Disposition: form-data; name="order"

ldap
-----------------------------12440347477298357471720878039

  • Both comments and trackbacks are currently closed.
  • Trackback URI: http://www.frankl.info/wordpress/know-how/untersuchen-der-datenubermittlung-bei-post-queries/trackback/
  • Comments RSS 2.0

Comments are closed.