HTTP GET-und POST-Parameter-Empfehlungen
Ist es schlechte Praxis ist, geben Sie die folgende POST-Anfrage:
/test?a=1&b=2
POST data: c=3&d=4
Beachten Sie, dass 2 Parameter Teil der URL 2 Parameter sind Teil des POST-Inhalt.
On another note, ist die folgende Regel empfohlen:
- GET-Anforderung: abrufen von Inhalten aus
der server aber nichts ändern
auf dem server ist. - POST request: post
Inhalte auf die server kann
ändern von Daten auf dem server
Ich Frage, weil ich ein bisschen von alles online.
Laurent Luce
Ja, die Leute glauben immer noch, Sie verwenden sollten
Auch das mischen der Parameter der Methoden ist in Ordnung, aber ich weiß wirklich nicht, warum Sie würde. Programmierung Standpunkt aus macht es mehr Sinn, konsequent zu sein. Die einzige Ausnahme, die ich denken kann, ist für die Anmeldung Formen, manchmal möchten Sie umleiten auf die login-Seite, und dann werfen Sie die redirect_back_to_this_page link BEKOMMEN, und es gibt nicht viel Punkt kopieren, zurück in die form.
POST
s für alles, kann Daten ändern, aber ich immer noch denke, dass ist ein Haufen Scheiße. Das bewirkt, dass Sie einige wirklich hacky Dinge, die, wenn alle Sie wollen, ist eine einfache Verknüpfung Löschen. Ich denke, dass, solange Sie haben einige richtige Kontrollen an Ort und Stelle auf der server-Seite, so dass webcrawlers Schrauben Sie nicht Ihre Website und wie, es ist keine große Sache.Auch das mischen der Parameter der Methoden ist in Ordnung, aber ich weiß wirklich nicht, warum Sie würde. Programmierung Standpunkt aus macht es mehr Sinn, konsequent zu sein. Die einzige Ausnahme, die ich denken kann, ist für die Anmeldung Formen, manchmal möchten Sie umleiten auf die login-Seite, und dann werfen Sie die redirect_back_to_this_page link BEKOMMEN, und es gibt nicht viel Punkt kopieren, zurück in die form.
InformationsquelleAutor Laurent Luce | 2010-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, deine Annahmen sind korrekt. Sie sollte konsistent sein, wie Sie übergeben Ihre Parameter oder die Parameter, die übergeben werden, aber es wird nicht Schaden, wirklich.
GET-Operationen werden sollen, die einen sicheren Betrieb, die nicht durchführen jegliche Nebenwirkungen (neben-caching, etc), so sind Sie leicht zu Cache durch proxies und solche. POST-Operationen auf der anderen Seite kann encure Nebenwirkungen.
Ich würde empfehlen, das Lesen der Wikipedia-Eintrag über HTTP-Protokoll:
Es gibt auch andere Operationen (z.B. HEAD, PUT, DELETE), und Sie sollten sich überlegen mit Ihnen, wenn Sie entwerfen eine API. Diese sind stark diskutiert RESTful API-design.
InformationsquelleAutor notnoop
Diese Regel ist auf jeden Fall noch zu empfehlen.
Es spiegelt sich in der refresh-Verhalten von modernen Browsern. Diese wird gerne erfrischen Sie sich mit GET-Werten, aber wird pop-up eine Warnung, die auf eine Aktualisierung von einer POST ('sind Sie sicher, dass Sie erneut Einreichen möchten?' usw.).
Es sieht aus wie Sie versuchen, kombinieren Sie die beiden Methoden (GET und POST) .. durch die Veröffentlichung einer URL mit GET-Werte. Während dies funktionieren sollte, ist es nicht Häufig getan. Bildet meist ausschließlich entweder das eine oder das andere.
InformationsquelleAutor user242275
Ja, die Semantik von GET-und POST-sollte respektiert werden.
Angesichts dieser Tatsache, dann gibt es oft einen sehr guten Grund warum Sie einige Parameter in den GET-und die POST-vars - betrachten wir den Fall, wo Sie haben ein web-basiertes Skript, welches so etwas macht wie:
Könnte dies wie folgt dargestellt werden:
C.
InformationsquelleAutor symcbean
Es ist nichts falsch mit, dass.
Der Grund, Daten ändern, die gesendet werden sollen, in der POST, ist, dass Sie nicht nicht zu ändern, die Daten wieder, wenn der Benutzer auf die Schaltfläche Aktualisieren. In diesem Fall wird nur der GET-info gesendet werden.
er meinte wohl bookmarking/von Suchmaschinen indiziert. Sie wirklich nicht wollen, dass Daten ändern Anforderungen, die indiziert werden...
InformationsquelleAutor Oren