Gibt es eine formelle Einschränkung, welche Zeichen in URL-Parametern zulässig sind?HTTP-URL - zulässige Zeichen in Parameternamen
Ich habe gelesen RFC3986 ("Uniform Resource Identifier (URI): Generische Syntax"), kam aber zu keiner endgültigen Schlussfolgerung.
Ich weiß, es gibt praktische Grenzen, aber wäre es tatsächlich etwas zu tun, wie verboten:
param with\funny<chars>=some_value
solange ich es richtig entkommen:
param%20with%1cfunny%3cchars%3e=some_value
Genau deshalb habe ich gefragt ... http://stackoverflow.com/questions/814613/how-to-read-data-from-url-using-javascript - Ich denke, meine Antwort würde ein benötigen Überholung, um es in ungewöhnlichen Situationen zu korrigieren. – Tomalak
Ah, das macht die Situation wesentlich komplizierter. Vor allem, da '&' als Begrenzer nur eine Konvention ist; andere könnten stattdessen verwendet werden, z.B. ',' und ';' wurden früher oft benutzt. Außerdem unterstützen viele Server-Engines (PHP, Rails, ...) verschachtelte Argumente, also wäre dies ein legaler URI mit Abfrage: http://example.com/?a=b;c[1]=x;c[2] = y ... Viele Webanwendungen verwenden diese Abfragenotation für Formulardaten (Optionen, Kontrollkästchen usw.), um arrayähnliche Daten zu erhalten. –
Also ich denke, es läuft darauf hinaus, "es gibt keine einzige korrekte Funktion Parameter aus einer URL zu ziehen" - es sei denn, Sie sind bereit zu akzeptieren, dass "c [1] = x" ist eine serverseitige Konvention und der Parameter Sie suchen, ist * in der Tat * genannt "c [1]" auf dem Client (was sachlich richtig wäre, aber für diejenigen, die an serverseitige Programmierung gewöhnt sind, komisch ...). – Tomalak