Frage

Soweit ich weiß, gibt es drei Kategorien:

  1. Benutze niemals GET und verwenden POST
  2. Benutze niemals POST und verwenden GET
  3. Es spielt keine Rolle, welches Sie verwenden.

Liege ich mit der Annahme dieser drei Fälle richtig?Wenn ja, welche Beispiele gibt es für die einzelnen Fälle?

War es hilfreich?

Lösung

Verwenden POST für destruktive Aktionen wie Erstellen (ich bin mir der Ironie bewusst), Bearbeiten und Löschen, weil man nicht auf a klicken kann POST Aktion in der Adressleiste Ihres Browsers.Verwenden GET wenn es sicher ist, einer Person zu erlauben, eine Aktion aufzurufen.Also eine URL wie:

http://myblog.org/admin/posts/delete/357

Sollte Sie zu einer Bestätigungsseite führen, anstatt den Artikel einfach zu löschen.Auf diese Weise lassen sich Unfälle viel einfacher vermeiden.

POST ist auch sicherer als GET, weil Sie keine Informationen in eine URL einfügen.Und so verwenden GET als die method Für ein HTML-Formular, das ein Passwort oder andere vertrauliche Informationen sammelt, ist dies nicht die beste Idee.

Eine letzte Anmerkung: POST kann eine größere Menge an Informationen übertragen als GET.Bei „POST“ gibt es keine Größenbeschränkung für die übertragenen Daten, während „GET“ auf 2048 Zeichen beschränkt ist.

Andere Tipps

In Kürze

  • Verwenden GET für safe andidempotent Anfragen
  • Verwenden POST für neither safe nor idempotent Anfragen

Im DetailFür jeden gibt es den richtigen Platz.Auch wenn du nicht folgst RUHIG Prinzipien kann man viel gewinnen, wenn man etwas über REST und die Funktionsweise eines ressourcenorientierten Ansatzes lernt.

Eine RESTful-Anwendung wird use GETs für Operationen, die beides sind safe and idempotent.

A safe Operation ist eine Operation, die etwas tut not change the data angefordert.

Ein idempotent Eine Operation ist eine, bei der das Ergebnis so ist be the same Egal wie oft Sie es anfordern.

Es liegt auf der Hand, dass GETs dafür verwendet werden sicher Operationen sind sie automatisch auch idempotent.Typischerweise wird ein GET zum Abrufen einer Ressource (z. B. einer Frage und der zugehörigen Antworten bei einem Stapelüberlauf) oder einer Sammlung von Ressourcen verwendet.

Eine RESTful-App wird verwendet PUTs für Operationen, die sind not safe but idempotent.

Ich weiß, dass es bei der Frage um GET und POST ging, aber ich werde gleich auf POST zurückkommen.

Typischerweise wird ein PUT zum Bearbeiten einer Ressource verwendet (zum Beispiel zum Bearbeiten einer Frage oder einer Antwort bei einem Stapelüberlauf).

A POST würde für jede Operation verwendet werden, die vorhanden ist neither safe or idempotent.

Normalerweise wird ein POST zum Erstellen einer neuen Ressource verwendet, beispielsweise zum Erstellen einer NEUEN SO-Frage (obwohl in einigen Designs auch ein PUT dafür verwendet wird).

Wenn Sie den POST zweimal ausführen, würden Sie am Ende ZWEI neue Fragen erstellen.

Es gibt auch eine DELETE-Operation, aber ich schätze, ich kann das dabei belassen :)

Diskussion

In der Praxis unterstützen moderne Webbrowser normalerweise nur zuverlässig GET und POST (Sie können alle diese Vorgänge über Javascript-Aufrufe ausführen, aber wenn Sie Daten in Formulare eingeben und auf „Senden“ klicken, haben Sie im Allgemeinen die beiden Optionen).In einer RESTful-Anwendung wird POST häufig überschrieben, um auch die Aufrufe PUT und DELETE bereitzustellen.

Aber selbst wenn Sie sich nicht an die RESTful-Prinzipien halten, kann es sinnvoll sein, über die Verwendung von GET zum Abrufen/Anzeigen von Informationen und POST zum Erstellen/Bearbeiten von Informationen nachzudenken.

Sie sollten GET niemals für eine Operation verwenden, die Daten verändert.Wenn eine Suchmaschine einen Link zu Ihrer bösen Operation oder zu den Lesezeichen des Kunden crawlt, könnte das große Probleme bedeuten.

Verwenden Sie GET, wenn Sie nichts dagegen haben, dass die Anforderung wiederholt wird (das heißt, der Status ändert sich nicht).

Verwenden Sie POST, wenn der Vorgang den Systemstatus ändert.

Kurzfassung

ERHALTEN:Wird normalerweise für gesendete Suchanfragen oder alle Anfragen verwendet, bei denen Sie möchten, dass der Benutzer die genaue Seite erneut aufrufen kann.

Vorteile von GET:

  • URLs können sicher mit Lesezeichen versehen werden.
  • Seiten können sicher neu geladen werden.

Nachteile von GET:

POST:Wird für höhere Sicherheitsanforderungen verwendet, bei denen Daten möglicherweise zum Ändern einer Datenbank oder einer Seite verwendet werden, die nicht als Lesezeichen gespeichert werden soll.

Vorteile von POST:

  • Name-Wert-Paare werden in der URL nicht angezeigt.(Sicherheit += 1)
  • Über POST kann eine unbegrenzte Anzahl von Name-Wert-Paaren übergeben werden. Referenz.

Nachteile von POST:

  • Seite, die POST-Daten verwendet hat, kann nicht als Lesezeichen gespeichert werden.(Wenn Sie es wünschen.)

Längere Version

Direkt von der Hypertext Transfer Protocol – HTTP/1.1:

9.3 GET

Die GET-Methode bedeutet, alle Informationen (in Form einer Entität) abzurufen, die durch den Request-URI identifiziert werden.Wenn sich der Anforderungs-URI auf einen Daten erzeugenden Prozess bezieht, werden die erzeugten Daten als Entität in der Antwort zurückgegeben und nicht der Quelltext des Prozesses, es sei denn, dieser Text ist die Ausgabe des Prozesses.

Die Semantik der GET-Methode ändert sich zu einem „bedingten GET“, wenn die Anforderungsnachricht ein If-Modified-Since-, If-Unmodified-Since-, If-Match-, If-None-Match- oder If-Range-Headerfeld enthält.Eine bedingte GET-Methode fordert, dass die Entität nur unter den Umständen übertragen wird, die in den bedingten Headerfeldern beschrieben sind.Die bedingte GET-Methode soll unnötige Netzwerknutzung reduzieren, indem sie die Aktualisierung zwischengespeicherter Entitäten ermöglicht, ohne dass mehrere Anfragen erforderlich sind oder bereits vom Client gespeicherte Daten übertragen werden müssen.

Die Semantik der GET-Methode ändert sich zu einem „partiellen GET“, wenn die Anforderungsnachricht ein Range-Header-Feld enthält.Ein partielles GET fordert, dass nur ein Teil der Entität übertragen wird, wie in Abschnitt 14.35 beschrieben.Die partielle GET-Methode soll unnötige Netzwerknutzung reduzieren, indem sie die Vervollständigung teilweise abgerufener Entitäten ermöglicht, ohne dass bereits vom Client gespeicherte Daten übertragen werden.

Die Antwort auf eine GET-Anfrage ist genau dann zwischenspeicherbar, wenn sie die in Abschnitt 13 beschriebenen Anforderungen für das HTTP-Caching erfüllt.

Sicherheitsaspekte bei der Verwendung für Formulare finden Sie in Abschnitt 15.1.3.

9.5 POST

Die Post-Methode wird verwendet, um zu fordern, dass der Ursprungserver die in der Anforderung eingeschlossene Entität als neuer Untergebener der von der Anfrage-URI in der Anfrage identifizierten Ressource akzeptiert.Post ist so konzipiert, dass eine einheitliche Methode die folgenden Funktionen abdeckt:

  • Annotation vorhandener Ressourcen;

  • Veröffentlichung einer Nachricht an ein Bulletin -Board, eine Newsgroup, eine Mailingliste oder eine ähnliche Art von Artikeln;

  • Bereitstellung eines Datenblocks, z. B. das Ergebnis der Übermittlung eines Formulars, an einen Datenhandlingsprozess;

  • Erweitern einer Datenbank durch eine Anhängeoperation.

Die tatsächliche Funktion, die von der Post-Methode ausgeführt wird, wird vom Server bestimmt und hängt normalerweise von der Request-URI ab.Die veröffentlichte Entität ist dieser URI auf die gleiche Weise untergeordnet, wie eine Datei einem Verzeichnis untergeordnet ist, das sie enthält, ein Nachrichtenartikel einer Newsgroup untergeordnet ist, in die sie veröffentlicht wird, oder ein Datensatz ist einer Datenbank untergeordnet.

Die von der Postmethode ausgeführte Aktion führt möglicherweise nicht zu einer Ressource, die von einem URI identifiziert werden kann.In diesem Fall ist entweder 200 (OK) oder 204 (kein Inhalt) der entsprechende Antwortstatus, je nachdem, ob die Antwort eine Entität enthält oder nicht, die das Ergebnis beschreibt.

Das erste wichtige ist das Bedeutung von GET versus POST :

  • GET sollte verwendet werden, um...erhalten...einige Informationen aus der Kellner,
  • während POST zum Senden einiger Informationen verwendet werden sollte Zu der Kellner.


Danach sind einige Dinge zu beachten:

  • Mithilfe von GET können Ihre Benutzer die Schaltfläche „Zurück“ in ihrem Browser verwenden und Seiten mit Lesezeichen versehen
  • Die Größe der Parameter, die Sie als GET übergeben können, ist begrenzt (2 KB für einige Versionen von Internet Explorer, wenn ich mich nicht irre) ;Bei POST liegt das Limit deutlich höher und hängt im Allgemeinen von der Konfiguration des Servers ab.


Ich glaube jedenfalls nicht, dass wir ohne GET „leben“ könnten:Denken Sie daran, wie viele URLs Sie jeden Tag mit Parametern in der Abfragezeichenfolge verwenden – ohne GET würde das alles nicht funktionieren ;-)

Abgesehen von den unterschiedlichen Längenbeschränkungen in vielen Webbrowsern gibt es auch einen semantischen Unterschied.GETs sollen insofern „sicher“ sein, als es sich um schreibgeschützte Vorgänge handelt, die den Serverstatus nicht ändern.POSTs ändern normalerweise ihren Status und geben bei erneuter Übermittlung Warnungen aus.Die Webcrawler von Suchmaschinen können GETs erstellen, sollten jedoch niemals POSTs erstellen.

Verwenden Sie GET, wenn Sie Daten lesen möchten, ohne den Status zu ändern, und POST, wenn Sie den Status auf dem Server aktualisieren möchten.

Meine allgemeine Faustregel ist, Get zu verwenden, wenn Sie Anfragen an den Server stellen, die den Status nicht ändern.Beiträge sind für Anfragen an den Server reserviert, die den Status ändern.

Ein praktischer Unterschied besteht darin, dass Browser und Webserver eine Begrenzung der Anzahl der Zeichen haben, die in einer URL vorhanden sein können.Es ist von Anwendung zu Anwendung unterschiedlich, aber es ist sicherlich möglich, es zu erreichen, wenn Sie es haben textareas in Ihren Formularen.

Ein weiteres Problem mit GETs: Sie werden von Suchmaschinen und anderen automatischen Systemen indiziert.Google hatte einmal ein Produkt, das Links auf der von Ihnen angezeigten Seite vorab abrufte, sodass sie schneller geladen wurden, wenn Sie auf diese Links klickten.Es verursachte wesentlich Chaos auf Websites, die Links wie hatten delete.php?id=1 - Menschen haben ihre gesamten Websites verloren.

Verwenden Sie GET, wenn die URL den Status der Seite widerspiegeln soll.Dies ist nützlich, um dynamisch generierte Seiten wie die hier gezeigten anzuzeigen.Ein POST sollte in einem Formular zur Übermittlung von Daten verwendet werden, beispielsweise wenn ich auf die Schaltfläche „Antwort posten“ klicke.Außerdem wird eine sauberere URL erzeugt, da nach dem Pfad keine Parameterzeichenfolge generiert wird.

Da es sich bei GETs um reine URLs handelt, können sie vom Webbrowser zwischengespeichert und besser für Dinge wie konsistent generierte Bilder verwendet werden.(Legen Sie eine Ablaufzeit fest)

Ein Beispiel von der Gravatar-Seite: http://www.gravatar.com/avatar/4c3be63a4c2f539b013787725dfce802?d=monsterid

GET kann zu einer geringfügig besseren Leistung führen. Einige Webserver schreiben POST-Inhalte in eine temporäre Datei, bevor sie den Handler aufrufen.

Ein weiterer zu berücksichtigender Punkt ist die Größenbeschränkung.GETs sind durch die Größe der URL begrenzt, standardmäßig 1024 Byte, obwohl Browser möglicherweise mehr unterstützen.

Um mehr Daten zu übertragen, sollte ein POST verwendet werden, um eine bessere Browserkompatibilität zu erreichen.

Sogar eine Unterschreitung dieses Grenzwerts stellt ein Problem dar, wie ein anderer Autor schrieb: Alles in der URL könnte in anderen Teilen der Benutzeroberfläche des Browsers landen, beispielsweise im Verlauf.

Es gibt nichts, was Sie nicht per se tun können.Der Punkt ist, dass Sie es nicht sind angeblich um den Serverstatus auf einem HTTP-GET zu ändern.HTTP-Proxys gehen davon aus, dass es keinen Unterschied macht, ob ein Benutzer HTTP GET einmal oder 1000 Mal aufruft, da HTTP GET den Status nicht ändert.Anhand dieser Informationen gehen sie davon aus, dass es sicher ist, eine zwischengespeicherte Version des ersten HTTP-GET zurückzugeben.Wenn Sie gegen die HTTP-Spezifikation verstoßen, besteht die Gefahr, dass HTTP-Clients und -Proxys in freier Wildbahn beschädigt werden.Tu es nicht :)

Dies betrifft das Konzept von REST und die Art und Weise, wie das Web eigentlich genutzt werden sollte.Es gibt ein ausgezeichnetes Podcast im Software Engineering Radio, das einen ausführlichen Vortrag über die Verwendung von Get und Post hält.

Get wird verwendet, um Daten vom Server abzurufen, wo keine Aktualisierungsaktion erforderlich sein sollte.Die Idee dahinter ist, dass Sie in der Lage sein sollten, dieselbe GET-Anfrage immer wieder zu verwenden und dieselben Informationen zurückzugeben.Die URL enthält die Get-Informationen in der Abfragezeichenfolge, da sie einfach an andere Systeme gesendet werden können und Menschen eine Adresse geben sollen, wo sie etwas finden können.

Post soll (zumindest von der REST-Architektur, auf der das Web irgendwie basiert) dazu verwendet werden, Informationen an den Server zu senden/den Server anzuweisen, eine Aktion auszuführen.Beispiele wie:Aktualisieren Sie diese Daten und erstellen Sie diesen Datensatz.

1.3 Schnelle Checkliste für die Auswahl von HTTP GET oder POST

Verwenden Sie GET, wenn:

    The interaction is more like a question (i.e., it is a safe operation such as a query, read operation, or lookup).

Verwenden Sie POST, wenn:

    The interaction is more like an order, or
    The interaction changes the state of the resource in a way that the user would perceive (e.g., a subscription to a service), or
    The user be held accountable for the results of the interaction.

Quelle.

Ich sehe jedoch kein Problem bei der Verwendung von get. Ich verwende es für einfache Dinge, bei denen es sinnvoll ist, Dinge in der Abfragezeichenfolge zu belassen.

Verwenden Sie es, um den Status zu aktualisieren – wie ein GET von delete.php?id=5 Eine Seite zu löschen ist sehr riskant.Das haben die Leute herausgefunden, als der Webbeschleuniger von Google begann, URLs auf Seiten vorab abzurufen – er traf alle „Löschen“-Links und löschte die Daten der Leute aus.Das Gleiche kann auch bei Suchmaschinen-Spidern passieren.

POST kann große Datenmengen verschieben, GET hingegen nicht.

Aber im Allgemeinen handelt es sich nicht um einen Mangel von GET, sondern eher um eine Konvention, wenn Sie möchten, dass sich Ihre Website/Webanwendung gut verhält.

Schauen Sie mal vorbei http://www.w3.org/2001/tag/doc/whenToUseGet.html

Aus RFC 2616:

9.3 ERHALTEN
Die GET-Methode bedeutet, alle Informationen abzurufen (in Form einer Entität), die von der Request-URI identifiziert werden.Wenn sich der Anfrage-URI auf einen Datenproduktionsprozess bezieht, handelt es sich um die erstellten Daten, die als Entität in der Antwort und nicht als Quelltext des Prozesses zurückgegeben werden müssen, es sei denn, dieser Text ist zufällig die Ausgabe des Prozesses.


9.5 POST
Die Post-Methode wird verwendet, um zu fordern, dass der Ursprungserver die in der Anforderung eingeschlossene Entität als neuer Untergebener der von der Anfrage-URI in der Anfrage identifizierten Ressource akzeptiert.Post ist so konzipiert, dass eine einheitliche Methode die folgenden Funktionen abdeckt:

  • Annotation vorhandener Ressourcen;
  • Veröffentlichung einer Nachricht an ein Bulletin -Board, eine Newsgroup, eine Mailingliste oder eine ähnliche Art von Artikeln;
  • Bereitstellung eines Datenblocks, z. B. das Ergebnis der Übermittlung eines Formulars, an einen Datenhandlingsprozess;
  • Erweitern einer Datenbank durch eine Anhängeoperation.

Die tatsächliche Funktion, die von der Post-Methode ausgeführt wird, wird vom Server bestimmt und hängt normalerweise von der Request-URI ab.Die veröffentlichte Entität ist dieser URI auf die gleiche Weise untergeordnet, wie eine Datei einem Verzeichnis untergeordnet ist, das sie enthält, ein Nachrichtenartikel einer Newsgroup untergeordnet ist, in die sie veröffentlicht wird, oder ein Datensatz ist einer Datenbank untergeordnet.

Die von der Postmethode ausgeführte Aktion führt möglicherweise nicht zu einer Ressource, die von einem URI identifiziert werden kann.In diesem Fall ist entweder 200 (OK) oder 204 (kein Inhalt) der entsprechende Antwortstatus, je nachdem, ob die Antwort eine Entität enthält oder nicht, die das Ergebnis beschreibt.

Ich verwende POST, wenn ich nicht möchte, dass die Leute den QueryString sehen, oder wenn der QueryString groß wird.Außerdem ist POST für Datei-Uploads erforderlich.

Ich sehe jedoch kein Problem bei der Verwendung von GET. Ich verwende es für einfache Dinge, bei denen es sinnvoll ist, Dinge im QueryString zu belassen.

Durch die Verwendung von GET ist auch das Verlinken auf eine bestimmte Seite möglich, auf der POST nicht funktionieren würde.

Einfache Version von POST GET PUT DELETE

  • Verwenden Sie GET – wenn Sie eine Ressource wie eine Liste von Daten basierend auf einer beliebigen ID oder einem beliebigen Namen erhalten möchten
  • Verwenden Sie POST, wenn Sie Daten an den Server senden möchten.Denken Sie daran, dass der Beitrag von IS schwere Gewichtsbetrieb ist
  • Verwenden Sie PUT - wenn Sie

Die ursprüngliche Absicht war, dass GET zum Zurückholen von Daten verwendet wurde und POST alles sein sollte.Die Faustregel, die ich verwende, ist, dass ich POST verwende, wenn ich etwas an den Server zurücksende.Wenn ich nur eine URL aufrufe, um Daten zurückzubekommen, verwende ich GET.

Lies das Artikel über HTTP in der Wikipedia.Es wird erklärt, was das Protokoll ist und was es tut:

ERHALTEN

Fordert eine Darstellung der angegebenen Ressource an.Beachten Sie, dass GET nicht für Vorgänge verwendet werden sollte, die Nebenwirkungen verursachen, beispielsweise für die Durchführung von Aktionen in Webanwendungen.Ein Grund dafür ist, dass GET willkürlich von Robotern oder Crawlern verwendet werden kann, die die Nebenwirkungen, die eine Anfrage verursachen sollte, nicht berücksichtigen sollten.

Und

POSTSendet 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 zu beidem führen.

Das W3C hat ein Dokument mit dem Namen URIs, Adressierbarkeit und die Verwendung von HTTP GET und POST Das erklärt, wann was zu verwenden ist.Zitieren

1.3 Schnelle Checkliste für die Auswahl von HTTP GET oder POST

  • Verwenden Sie GET, wenn:
    • Die Interaktion ist eher eine Frage (dh eine sichere Operation wie eine Abfrage, Lesoperation oder Suche).

Und

  • Verwenden Sie POST, wenn:
    • Die Interaktion ähnelt eher einem Befehl, oder
    • Die Interaktion verändert den Status der Ressource in einer Weise, die der Benutzer (z. B. ein Abonnement für einen Dienst) oder den Benutzer für die Ergebnisse der Interaktion wahrnehmen würde.

Bevor Sie sich jedoch endgültig für die Verwendung von HTTP GET oder POST entscheiden, berücksichtigen Sie bitte auch Überlegungen zu sensiblen Daten und praktische Überlegungen.

Ein praktisches Beispiel wäre das Absenden eines HTML-Formulars.Sie geben beides an Post oder erhalten für die Formularaktion.PHP wird $_GET und $_POST entsprechend füllen.

In PHP, POST Das Datenlimit wird normalerweise von Ihnen festgelegt php.ini. GET ist meines Erachtens durch die Server-/Browsereinstellungen begrenzt – normalerweise etwa 255 Bytes.

Aus w3schools.com:

Was ist HTTP?

Das Hypertext Transfer Protocol (HTTP) ist so konzipiert, dass die Kommunikation zwischen Clients und Servern ermöglicht wird.

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

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

Beispiel:Ein Client (Browser) sendet eine HTTP-Anfrage an den Server.Anschließend gibt der Server eine Antwort an den Client zurück.Die Antwort enthält Statussinformationen zur Anfrage und kann auch den angeforderten Inhalt enthalten.

Zwei HTTP-Anfragemethoden:GET und POST

Zwei häufig verwendete Methoden für eine Anforderungsantwort zwischen Client und Server sind:GET und POST.

GET - Fordert Daten aus einem bestimmten Ressourcenpost an - stellt Daten ein, die in eine bestimmte Ressource verarbeitet werden sollen

Hier unterscheiden wir die wesentlichen Unterschiede:

enter image description here

Nun, eine wichtige Sache ist alles, was Sie einreichen GET wird über die URL angezeigt.Zweitens gibt es, wie Ceejayoz sagt, eine Zeichenbeschränkung für eine URL.

Ein weiterer Unterschied besteht darin, dass POST im Allgemeinen zwei HTTP-Vorgänge erfordert, während GET nur einen erfordert.

Bearbeiten:Ich sollte es klarstellen – für gängige Programmiermuster.Im Allgemeinen ist es aus verschiedenen Gründen ein fragwürdiges Design, auf einen Beitrag mit einer geraden HTML -Webseite zu reagieren. Eine davon ist das ärgerliche "Sie müssen dieses Formular erneut übernehmen. Möchten Sie dies tun?" beim Drücken der Rücktaste.

Wie von anderen geantwortet, gibt es bei get eine Begrenzung der URL-Größe und Dateien können nur per Post übermittelt werden.

Das möchte ich gerne hinzufügen dürfen Fügen Sie Dinge mit einem Get zu einer Datenbank hinzu und führen Sie Aktionen mit einem Beitrag aus.Wenn ein Skript einen Post oder einen Get erhält, kann es tun, was der Autor von ihm möchte.Ich glaube, der Mangel an Verständnis liegt an der Formulierung, die das Buch gewählt hat, oder an der Art und Weise, wie man es liest.

Ein Drehbuchautor sollen Verwenden Sie Beiträge, um die Datenbank zu ändern, und verwenden Sie get nur zum Abrufen von Informationen.

Skriptsprachen boten viele Möglichkeiten, auf die Anfrage zuzugreifen.PHP ermöglicht beispielsweise die Verwendung von $_REQUEST um entweder einen Beitrag oder einen Get abzurufen.Dies sollte man zugunsten des Spezifischeren vermeiden $_GET oder $_POST.

Bei der Webprogrammierung gibt es viel mehr Interpretationsspielraum.Da ist was sollen und welches dürfen tun, aber welches besser ist, steht oft zur Debatte.Glücklicherweise gibt es in diesem Fall keine Unklarheiten.Du sollen Verwenden Sie Beiträge, um Daten und Sie zu ändern sollen Verwenden Sie get, um Informationen abzurufen.

Gorgapor, mod_rewrite Wird immer noch oft verwendet GET.Es ermöglicht lediglich die Übersetzung einer benutzerfreundlicheren URL in eine URL mit a GET Abfragezeichenfolge.

Für HTTP-Post-Daten gibt es kein festgelegtes Limit für die Datenmenge, da verschiedene Browser unterschiedliche Limits für GETs haben.Im RFC 2068 heißt es:

Server sollten vorsichtig mit URI -Längen über 255 Bytes vorsichtig sein, da einige ältere Client- oder Proxy -Implementierungen diese Längen möglicherweise nicht ordnungsgemäß unterstützen

Insbesondere sollten Sie die richtigen HTTP-Konstrukte für ihren Verwendungszweck verwenden.HTTP-GETs sollten keine Nebenwirkungen haben und können von HTTP-Proxys usw. sicher aktualisiert und gespeichert werden.

HTTP-POSTs werden verwendet, wenn Sie Daten an eine URL-Ressource senden möchten.

Ein typisches Beispiel für die Verwendung von HTTP GET ist eine Suche, d. h.Suche? Query = My+Abfrage Ein typisches Beispiel für die Verwendung eines HTTP -Posts sendet Feedback an ein Online -Formular.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top