288 Stimmen

Wann sollte ich die Methode GET oder POST verwenden? Was ist der Unterschied zwischen ihnen?

Was ist der Unterschied bei der Verwendung von GET o POST Methode? Welche Methode ist sicherer? Was sind die (Un-)Vorteile der einzelnen Methoden?

( ähnliche Frage )

20voto

Grant Punkte 11649

Sie sollten POST verwenden, wenn es sich um eine große Datenmenge oder um sensible Informationen handelt (wirklich sensible Daten benötigen ebenfalls eine sichere Verbindung).

Verwenden Sie GET, wenn Sie möchten, dass die Besucher Ihre Seite mit einem Lesezeichen versehen können, da alle Daten in das Lesezeichen aufgenommen werden.

Seien Sie nur vorsichtig, wenn Sie bei der GET-Methode auf REFRESH drücken, da die Daten jedes Mal erneut gesendet werden, ohne dass der Benutzer gewarnt wird (POST warnt den Benutzer manchmal vor dem erneuten Senden von Daten).

18voto

chus Punkte 1499

Este W3C-Dokument erklärt die Verwendung von HTTP GET und POST.

Ich halte sie für eine maßgebliche Quelle.

Die Zusammenfassung lautet (Abschnitt 1.3 des Dokuments):

  • Verwenden Sie GET wenn die Interaktion eher einer Frage ähnelt (d. h. es handelt sich um eine sichere Operation wie eine Abfrage, einen Lesevorgang oder eine Nachschlagoperation).
  • Verwenden Sie POST wenn:
    • Die Interaktion gleicht eher einer Bestellung, oder
    • Die Interaktion verändert den Zustand der Ressource in einer Weise, dass die Benutzer wahrnehmen würde (z. B. ein Abonnement für einen Dienst), oder
    • Der Nutzer wird für die Ergebnisse der Interaktion verantwortlich gemacht.

13voto

sarsnake Punkte 24745

Die Get- und Post-Methoden haben nichts mit der von Ihnen verwendeten Servertechnologie zu tun, sie funktionieren in php, asp.net oder ruby gleich. GET und POST sind Teil des HTTP-Protokolls. Wie bereits erwähnt, ist POST sicherer. POST-Formulare werden auch nicht vom Browser zwischengespeichert. POST wird auch verwendet, um große Datenmengen zu übertragen.

12voto

Sarel Botha Punkte 12053

Der Grund für die Verwendung von POST bei der Änderung von Daten:

  • Ein Web-Beschleuniger wie Google Web Accelerator klickt auf alle (GET-)Links auf einer Seite und speichert sie zwischen. Dies ist sehr schlecht, wenn die Links Änderungen an Dingen vornehmen.
  • Ein Browser zwischenspeichert GET-Anfragen. Selbst wenn der Benutzer auf den Link klickt, sendet er möglicherweise keine Anfrage an den Server, um die Änderung auszuführen.
  • Um Ihre Website/Anwendung gegen CSRF zu schützen, müssen Sie POST verwenden. Um Ihre Anwendung vollständig abzusichern, müssen Sie dann auch einen eindeutigen Bezeichner auf dem Server generieren und diesen in der Anfrage mitschicken.

Geben Sie außerdem keine sensiblen Informationen in die Abfragezeichenfolge ein (nur bei GET möglich), da diese in der Adressleiste, den Lesezeichen und den Serverprotokollen angezeigt werden.

Dies erklärt hoffentlich, warum die Leute sagen, POST sei "sicher". Wenn Sie sensible Daten übermitteln, müssen Sie SSL verwenden.

9voto

user3540599 Punkte 721

GET y POST sind HTTP-Methoden, die kann ähnliche Ziele erreichen

GET dient im Grunde nur dazu, Daten zu erhalten (abzurufen), A GET sollte keinen Körper haben, so dass abgesehen von Cookies, der einzige Ort, um Informationen zu übergeben ist in der URL und URLs sind in der Länge begrenzt, GET ist weniger sicher als POST weil die gesendeten Daten Teil der URL sind

Verwenden Sie niemals GET beim Versenden von Passwörtern, Kreditkarten oder anderen sensiblen Informationen!, Daten sind für jeden in der URL sichtbar, Daten können zwischengespeichert werden. GET ist harmlos, wenn wir neu laden oder den Zurück-Button aufrufen, es wird markiert, Parameter bleiben im Browserverlauf, nur ASCII-Zeichen erlaubt.

POST kann alles Mögliche beinhalten, wie das Speichern oder Aktualisieren von Daten, das Bestellen eines Produkts oder das Versenden von E-Mails. POST Methode hat einen Körper.

POST Methode für die Übermittlung sensibler und vertraulicher Informationen an den Server gesichert ist, sind die Abfrageparameter in der URL nicht sichtbar und die Parameter werden nicht im Browserverlauf gespeichert. Es gibt keine Beschränkungen für die Länge der Daten. Beim Neuladen sollte der Browser den Benutzer darauf hinweisen, dass die Daten erneut übertragen werden. POST Methode kann nicht mit Lesezeichen versehen werden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X