Was ist der Unterschied zwischen URL-Parametern und Abfragezeichenfolgen?
Sehe ich nicht viel Unterschied zwischen den Parametern und den query-strings in der URL. Also, was ist der Unterschied und Wann sollte man sich über die über?
InformationsquelleAutor der Frage Konst | 2016-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Denquery-Komponente ist gekennzeichnet durch die erste
?
in einem URI. "Query string" könnte ein synonym (dieser Begriff ist nicht in der URI-standard).Einige Beispiele für HTTP-URIs mit query-Komponenten:
(Liste der zulässigen Zeichen in der query-Komponente)
Den "format" - von der query-Komponente ist bis auf den URI-Autoren. Eine Allgemeine Konvention (aber nichts weiter als eine Konvention, soweit Sie den URI-standard ist besorgt1) ist die Verwendung der query-Komponente für Schlüssel-Wert-Paare, aka. Parameterwie in dem letzten Beispiel oben:
bar1=a&bar2=b
.Solche Parameter könnte auch in die andere URI-Komponenten, d.h., die weg2 geschnitten und das fragment. Soweit der URI-standard ist besorgt, es ist bis zu Ihnen, welche Komponente und welches format Sie verwenden.
Beispiel URI mit Parametern im Pfad, query und fragment:
1 Der URI-standard sagt über die query-Komponente:
2 Der URI-standard sagt über die Pfad-Komponente:
InformationsquelleAutor der Antwort unor
Parameter sind Schlüssel-Wert-Paare können im URL-Pfad, und beginnen mit einem Semikolon (
;
).Query-string wird nach dem Pfad (sofern vorhanden) und beginnt mit einem Fragezeichen (
?
).Beide Parameter und query-string enthalten Schlüssel-Wert-Paare.
In einem
GET
Anfrage-Parameter erscheinen in der URL selbst:In einem
POST
Anfrage, können die Parameter erscheinen in der URL selbst, sondern auch in den Datenstrom (wie bekannt als Inhalt).Query-string ist immer ein Teil der URL.
Parameter begraben werden können in
form-data
datastream bei Verwendung der POST-Methode, so dass Sie möglicherweise nicht in der URL erscheinen. Ja einPOST
Anfrage können Parameter definiert werden als form-Daten und in der URL, und das ist nicht inkonsistent, weil-Parameter können mehrere Werte haben.Ich gefunden habe keine Erklärung für dieses Verhalten so weit. Ich denke, es könnte nützlich sein, manchmal auf "einblenden" - Parameter aus einer
POST
Anfrage, oder lassen auch die code-handling und eineGET
Anfrage teilen sich einige Komponenten mit dem code-handling und einePOST
. Dies kann natürlich nur funktionieren mit server-code zu unterstützen-Parameter in einer URL.Bis man bessere Erkenntnisse, empfehle ich Ihnen, Parameter zu verwenden, nur in
form-data
datastream vonPOST
Anfragen.Quellen:
Was Jeder Entwickler Wissen Sollte Über URLs
RFC 3986
InformationsquelleAutor der Antwort Laurent Caillette