PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterschied zwischen HTTP GET und POST?



hiTCH-HiKER
31.08.03, 14:39
Ich dachte ja bisher das der Unterschied zwischen GET und POST folgender sei:
- bei GET kodiert man seine Parameter in der URL und ist auf die maximale Länge einer URL (i.d.R. 256Bytes) beschränkt
- bei POST hingegen werden die Daten im "Body" der HTTP-Anfrage übertragen und können beliebig lang sein

Jetzt meint ein Kumpel er hätte in einem superschlauen Buch gelesen das der Hauptunterschied zwischen GET und POST folgender sei:
- bei GET cachen die Browser die Seite
- bei POST wird die Seite nicht gecached

d.h. wenn man dynamische Seiten hat die nicht vom Browser-Programm gecached werden sollen, dann muß man POST benutzen.

Stimmt nun beides oder was ist richtig und was ist falsch?
Ich dachte immer es gibt HTML-Befehle/Metatags um das "caching" zu steuern :rolleyes:

DacG
31.08.03, 14:42
das, was du gedacht hat, ist korrekt. :)

hiTCH-HiKER
31.08.03, 14:57
Original geschrieben von DacG
das, was du gedacht hat, ist korrekt. :)

Aber warum steht in einer Java Servlet-Bibel (ich werd nochmal genauer fragen um welches Buch es sich handelt) das aus Sicht des Programmieres der wichtigste Unterschied zwischen GET und POST das Caching ist?
Ist da denn ein Fünkchen Wahrheit dran oder ist das kompletter Schwachsinn? ;)

michael.sprick
31.08.03, 20:15
kompletter Schwachsinn trifft die Sache eher...

Schuld sind dann u.U. die Browser.... evtl kennst Du aber die Meldung, wenn Du auf den Zurückbuttopn klickst:

Achtung: Die aufgerufene Seite enthält POSTDATA...blablabla

sprich - der Browser weiss ganz genau, was die Seite enthält. Er kennt sogar die eingegebenen Daten. Ge-cache-t wird also trotzdem fleissig. Es liegt dann nur beim User (oder an den Einstellungen) ob diese Seiten neu vom Server geladen werden oder die gekäschten Daten verwendung finden sollen....

Das wichtigste ist und bleibt: GET = 256 Bytes !!!! Also - keine Datei per GET hochladen :-)))

michael.sprick
31.08.03, 20:17
hmm - sag mal, kannst du mir dieses geile Hintergrundbild was in deiner Signatur verlinkt ist mal mailen?
michael@it-rocks.de

danke danke danke :-)

LINUXRH7
31.08.03, 20:34
hi,

rechtsklick "Bild speichern unter.." oder "wget http://mitglied.lycos.de/morrowinds/Bildschirmphoto7.jpg" :D

Ist wirklich nett das Pic

MfG
LiNUXrh7

Doh!
31.08.03, 23:14
Aus dem "Perl cookbook":
CGI scripts are called in two main ways, referred to as methods - but don't confuse HTTP methods
with Perl object methods!
The HTTP GET method is used in document retrievals where an identical request will produce
an identical result, such as a dictionary lookup. A GET stores form data in the URL. This means
it can be conveniently bookmarked for canned requests, but has limitations on the total size of the data requested.

The HTTP POST method sends form data separate from the request. It has no such size limitations,
but cannot be bookmarked. Forms that update information on the server, like mailing in feedback or
modifying a database entry, should use POST. Client browsers and intervening proxies are free to
cache and refresh the results of GET requests behind your back, but they may not cache POST
requests.

GET is only safe for short read-only requests, whereas POST is safe for forms of any
size, as well as for updates and feedback responses. Therefore, by default, the CGI module uses
POST for all forms it generates.

michael.sprick
31.08.03, 23:37
@LinuxRH7:

Naja - ich würd das ja auch gerne als Hintergrundbild nutzen..... da stören die beiden Anwendungen, die er mitfotografiert hat, schon ein wenig :-)))

hiTCH-HiKER
01.09.03, 16:47
Das Hintergrundbild gibts auf KDE-Look.org:
http://www.kdelook.org/content/show.php?content=6871