Welche Zeichen sind in einer URL-Abfragezeichenfolge zulässig?Was ist eine gültige URL-Abfragezeichenfolge?
Müssen Query-Strings einem bestimmten Format folgen?
Welche Zeichen sind in einer URL-Abfragezeichenfolge zulässig?Was ist eine gültige URL-Abfragezeichenfolge?
Müssen Query-Strings einem bestimmten Format folgen?
Per http://tools.ietf.org/html/rfc3986
In Abschnitt 2.2 reservierte Zeichen, werden die folgenden Zeichen aufgeführt:
reserviert = gen-delims/sub-delims
gen-delims = „:“/„/"/"? "/" # "/" ["/"] "/" @ "
sub-delims ="! "/" $ "/" & "/" '"/" ("/ ")"/"*"/„+“/„“/„“ /„=“
Die Spezifikation sagt dann:
Wenn Daten für eine URI-Komponente mit einem reservierten Charakter Zweck als unverträglich Delimiter, dann müssen die widersprüchlichen Daten Prozent codiert sein, bevor der URI gebildet wird.
Als nächstes wird in Abschnitt 2.3 Unreserved Charaktere, sind die folgenden aufgeführt:
„“unreserved = ALPHA/DIGIT/„-“// „_“/„~“
[RFC 3986 - ** Abschnitt 3.4 **] (http: //tools.ietf. org/html/rfc3986 # page-23) beschreibt speziell die Abfragezeichenfolge und enthält insbesondere die Unter-delims und eine Handvoll anderer. Zusammenfassend: 'A'-' Z', 'a'-' z', '0'-' 9', '-',' .', '_',' ~ ','! ',' $ ' , '&', '' ',' (',') ',' * ',' + ',', ','; ',' = ',': ',' @ ','/',' ? ' – MrWhite
Wikipedia hat Ihre Antwort: http://en.wikipedia.org/wiki/Query_string
"URL Encoding: Einige Zeichen nicht Teil einer URL sein kann (zum Beispiel den Raum) und einige andere Zeichen haben eine besondere Bedeutung in einer URL: zum Beispiel kann das Zeichen # verwendet werden, um einen Unterabschnitt (oder ein Fragment) eines Dokuments weiter zu spezifizieren; Das Zeichen = wird verwendet, um einen Namen von einem Wert zu trennen. Eine Abfragezeichenfolge muss möglicherweise konvertiert werden, um diese Einschränkungen zu erfüllen. Dies kann mithilfe eines als URL-Codierung bekannten Schemas erfolgen.
Insbesondere kodiert die Abfragezeichenfolge verwendet die folgenden Regeln: ' '
T Das Oktett, das dem Tildezeichen ("~") entspricht, wird oft von älteren URI-Verarbeitungsimplementierungen als "% 7E" codiert; die "% 7E" kann durch "~" ersetzt werden, ohne ihre Interpretation zu ändern. Die Kodierung von SPACE als '+' und die Auswahl von "wie ist" Zeichen unterscheidet diese Kodierung von RFC 1738. "
In Bezug auf das Format sind Abfragezeichenfolgen Name Wert Paare. Die? Trennt die Abfragezeichenfolge von der URLJedes Name-Value-Paar ist durch ein kaufmännisches Und getrennt (&), während der Name (Schlüssel) und der Wert durch ein Gleichheitszeichen (=) getrennt sind. z.B. http://domain.com?key=value&secondkey=secondvalue
Unter Struktur in der Wikipedia reference I bereitgestellt:
Können Sie den letzten Absatz zitieren? –
Ich habe diesen Absatz basierend auf persönlicher Erfahrung hinzugefügt, aber ich habe weitere Informationen hinzugefügt und hinzugefügt, die ich finden könnte, um das zu bestätigen. Dabei habe ich festgestellt, dass Schlüsselwerte nicht nur durch ein kaufmännisches Und-Zeichen getrennt sind, sondern auch durch ein Semikolon, obwohl ich es vorher noch nie gesehen habe. Das Fragezeichen ist nicht Teil des QS, sondern ein Trennzeichen. – cbillowes
Im Text der Antwort: "Jedes Name-Wert-Paar hat ein kaufmännisches Und-Zeichen", der Wortlaut ("vorangestellt") ist irreführend. Weiter unten gibt es das richtige "... Paare sind getrennt ...". – laune
Dieser Link enthält die Antwort und formatierte Werte, die Sie alle benötigen.
https://perishablepress.com/url-character-codes/
Für Ihre Bequemlichkeit, das ist die Liste:
< %3C
> %3E
# %23
% %25
{ %7B
} %7D
| %7C
\ %5C
^ %5E
~ %7E
[ %5B
] %5D
` %60
; %3B
/ %2F
? %3F
: %3A
@ %40
= %3D
& %26
$ %24
+ %2B
" %22
space %20
Beachten Sie, dass [Nur-Link-Antworten] (http://meta.stackoverflow.com/tags/link-only-answers/info) nicht empfohlen werden. SO-Antworten sollten der Endpunkt einer Suche nach einer Lösung sein (vs. ein weiterer Zwischenstopp von Referenzen, die im Laufe der Zeit abgestanden werden). Bitte beachten Sie, dass Sie hier eine eigenständige Zusammenfassung hinzufügen und den Link als Referenz beibehalten. – kleopatra
Alles andere als diese Bedürfnisse in einer URL dürfen maskiert werden, was in dieser Frage entkam werden muss: http: //stackoverflow.com/questions/2322764/what-characters-must-be-escaped-in-http-query-string –