HTTP: Was ist der Unterschied zwischen GET und POST?


Antwort 1:

HTTP:

POST-Anforderungen liefern zusätzliche Daten vom Client (Browser) an den Server im Nachrichtentext.

Im Gegensatz dazu enthalten GET-Anforderungen alle erforderlichen Daten in der URL. Formulare in HTML können entweder eine Methode verwenden, indem Sie method = "POST" oder method = "GET" (Standard) in angeben Element.

Die angegebene Methode bestimmt, wie Formulardaten an den Server gesendet werden. Wenn die Methode GET ist, werden alle Formulardaten in die URL codiert und als Abfragezeichenfolgenparameter an die Aktions-URL angehängt. Bei POST werden Formulardaten im Nachrichtentext der HTTP-Anforderung angezeigt.

Danke!

Den Kontakt halten:

Bangalore Web Design Unternehmen, Website Development Company Bangalore, Website Design Bangalore, Web Development Bangalore


Antwort 2:

GET und POST sind zwei verschiedene Arten von HTTP-Anforderungen.

Laut Wikipedia:

GET fordert eine Darstellung der angegebenen Ressource an. Beachten Sie, dass GET nicht für Vorgänge verwendet werden sollte, die Nebenwirkungen verursachen, z. B. zum Ausführen von Aktionen in Webanwendungen. Ein Grund dafür ist, dass GET von Robotern oder Crawlern willkürlich verwendet werden kann, wobei die Nebenwirkungen, die eine Anforderung verursachen sollte, nicht berücksichtigt werden müssen.

und

POST sendet zu verarbeitende Daten (z. B. aus einem HTML-Formular) an die identifizierte Ressource. Die Daten sind im Hauptteil der Anfrage enthalten. Dies kann zur Erstellung einer neuen Ressource oder zur Aktualisierung vorhandener Ressourcen oder von beidem führen.

Im Wesentlichen wird GET zum Abrufen von Remote-Daten und POST zum Einfügen / Aktualisieren von Remote-Daten verwendet.

HTTP / 1.1-Spezifikation (RFC 2616) Abschnitt 9 Methodendefinitionen enthält bei Interesse weitere Informationen zu GETand POST sowie zu den anderen HTTP-Methoden.

Neben der Erläuterung der Verwendungszwecke der einzelnen Methoden enthält die Spezifikation mindestens einen praktischen Grund, warum GET nur zum Abrufen von Daten verwendet werden sollte:

Autoren von Diensten, die das HTTP-Protokoll verwenden, sollten keine GET-basierten Formulare für die Übermittlung vertraulicher Daten verwenden, da dies dazu führt, dass diese Daten im Request-URI codiert werden. Viele vorhandene Server, Proxys und Benutzeragenten protokollieren den Anforderungs-URI an einer Stelle, an der er möglicherweise für Dritte sichtbar ist. Server können stattdessen die POST-basierte Formularübermittlung verwenden

Schließlich ist eine wichtige Überlegung bei der Verwendung von GET für AJAX-Anforderungen, dass einige Browser - insbesondere der IE - die Ergebnisse einer GET-Anforderung zwischenspeichern. Wenn Sie beispielsweise mit derselben GETrequest abfragen, erhalten Sie immer dieselben Ergebnisse zurück, auch wenn die von Ihnen abgefragten Daten serverseitig aktualisiert werden. Eine Möglichkeit, dieses Problem zu beheben, besteht darin, die URL für jede Anforderung durch Anhängen eines Zeitstempels eindeutig zu machen.


Antwort 3:

In einfachen Worten,

Mit einer GET-Methode senden Sie Ihre Daten über die URL. Bei einer POST-Methode werden Daten in das Formularobjekt eingebettet und direkt von Ihrem Browser an den Server gesendet.

Beide können die Daten übertragen, es ist jedoch immer besser, POST zum Senden der aufzuzeichnenden Daten zu verwenden, um sicherzustellen, dass die Datenintegrität erhalten bleibt (bei Proxys und Firewall-Regeln).


Antwort 4:

GET und POST sind überhaupt nicht sicher und die über diese Abfragen gesendeten Daten müssen überprüft werden, bevor etwas damit unternommen wird.

Normalerweise verwenden wir GET, um Seiten zu identifizieren und dynamisch zu rendern, und POST, um Formulardaten zu senden, aber dies ist nicht immer der Fall.

GET hat auch eine ziemlich kleine Anzahl von Bytes, die Sie senden können, im Vergleich zu POST, die viel weniger begrenzt ist.

Beispielsweise verwendet Google GET in Form seiner Startseite, da das Ergebnis leicht mit Lesezeichen versehen und gemeinsam genutzt werden kann.