409 Stimmen

Wann verwenden Sie POST und wann GET?

Soweit ich das beurteilen kann, gibt es drei Kategorien:

  1. Verwenden Sie niemals GET und verwenden POST
  2. Verwenden Sie niemals POST und verwenden GET
  3. Es spielt keine Rolle, welche Sie verwenden.

Liege ich mit der Annahme dieser drei Fälle richtig? Wenn ja, was sind einige Beispiele für jeden Fall?

1voto

De w3schools.com :

Was ist HTTP?

Das Hypertext Transfer Protocol (HTTP) ist Kommunikation zwischen Clients und Servern zu ermöglichen.

HTTP arbeitet als Anfrage-Antwort-Protokoll zwischen einem Client und einem Server.

Ein Webbrowser kann der Client sein, und eine Anwendung auf einem Computer, der eine Website hostet, kann der Server sein.

Beispiel: Ein Client (Browser) sendet eine HTTP-Anfrage an den Server; Der Server sendet daraufhin eine Antwort an den Client. Die Antwort enthält Statusinformationen über die Anfrage und möglicherweise auch den angeforderten Inhalt enthalten.

Zwei HTTP-Anforderungsmethoden: GET und POST

Zwei häufig verwendete Methoden für eine Anfrage-Antwort Server sind: GET und POST.

GET - Fordert Daten von einer bestimmten Ressource an POST zu verarbeitenden Daten an eine angegebene Ressource

Hier unterscheiden wir die wichtigsten Unterschiede:

enter image description here

0voto

Plynx Punkte 11221

Ein weiterer Unterschied besteht darin, dass POST in der Regel zwei HTTP-Operationen erfordert, während GET nur eine erfordert.

Bearbeiten: Ich sollte klarstellen - für allgemeine Programmiermuster. Im Allgemeinen ist die Beantwortung einer POST mit einer einfachen HTML-Webseite aus einer Vielzahl von Gründen ein fragwürdiges Design, von denen einer das lästige "Sie müssen dieses Formular erneut abschicken, möchten Sie das tun?

0voto

prodigitalson Punkte 59250

Nun, eine wichtige Sache ist, dass alles, was Sie über GET wird über die URL offengelegt. Zweitens gibt es, wie Ceejayoz sagt, eine Begrenzung der Zeichen für eine URL.

0voto

Wie bereits von anderen geantwortet, gibt es eine Begrenzung für die Größe der URL bei get, und Dateien können nur mit post übermittelt werden.

Das möchte ich noch hinzufügen kann mit "get" Dinge zu einer Datenbank hinzufügen und mit "post" Aktionen durchführen. Wenn ein Skript einen "post" oder "get" erhält, kann es tun, was immer der Autor möchte. Ich glaube, das mangelnde Verständnis rührt von der Formulierung her, die das Buch gewählt hat, oder davon, wie Sie es lesen.

Ein Drehbuchautor sollte post verwenden, um die Datenbank zu ändern, und get nur zum Abrufen von Informationen verwenden.

Die Skriptsprachen boten zahlreiche Möglichkeiten, um auf die Anfrage zuzugreifen. PHP erlaubt zum Beispiel die Verwendung von $_REQUEST um entweder ein post oder ein get abzurufen. Dies sollte man zugunsten der spezifischeren $_GET o $_POST .

Bei der Webprogrammierung gibt es viel mehr Spielraum für Interpretationen. Es gibt das, was man sollte und was man kann tun, aber welche davon besser ist, steht oft zur Debatte. In diesem Fall gibt es glücklicherweise keine Unklarheiten. Sie sollte Stellen zum Ändern von Daten verwenden, und Sie sollte verwenden Sie get, um Informationen abzurufen.

-1voto

mythz Punkte 138304

Für HTTP-Post-Daten gibt es keine festgelegte Obergrenze für die Datenmenge, während für GET-Daten in den verschiedenen Browsern unterschiedliche Obergrenzen gelten. Im RFC 2068 heißt es:

S URI-Längen von mehr als 255 Bytes abhängen Bytes abhängen, da einige ältere Client- oder Proxy-Implementierungen diese Längen möglicherweise nicht diese Längen nicht richtig unterstützen

Insbesondere sollten Sie die richtigen HTTP-Konstrukte für den jeweiligen Zweck verwenden. HTTP-GETs sollten keine Nebeneffekte haben und können von HTTP-Proxies usw. sicher aktualisiert und gespeichert werden.

HTTP POSTs werden verwendet, wenn Sie Daten an eine URL-Ressource übermitteln wollen.

Ein typisches Beispiel für die Verwendung von HTTP GET ist eine Suche, d. h. Search?Query=my+query Ein typisches Beispiel für die Verwendung von HTTP POST ist die Übermittlung von Feedback zu einem Online-Formular.

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