Frage

Sind URLs der Form http://asdf.com/something.do ? param1 = true? param2 = false gültig?

Das glaube ich nicht die zweite? ist in gültig Urls erlaubt und dass es stattdessen ein Zeichen (&), aber ich bin nicht in der Lage zu finden, etwas darüber in der http 1.1 rfc sein sollte. Irgendwelche Ideen?

War es hilfreich?

Lösung

Es ist nicht gültig zu benutzen? nochmal. ? sollte den Beginn der Parameterliste anzuzeigen. & Sollten Parameter trennen.

RFC 3986 :

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

RFC 1738 :

  

Eine HTTP-URL hat die Form:

http:// <host> : <port> / <path> ? <searchpart>
     

Dabei gilt <host> und <port> werden, wie in Abschnitt 3.1 beschrieben. wenn :<port>   weggelassen wird, ist es, die standardmäßig auf Port 80. Kein Benutzername oder Passwort   erlaubt. <path> ist ein HTTP-Selektor und <searchpart> ist eine Abfrage   String. Die <path> ist optional, da der <searchpart> ist und sein   vorhergehenden "?". Wenn weder <path> noch <searchpart> vorhanden ist, die „/“   kann auch weggelassen werden.

     

Innerhalb der <path> und <searchpart> Komponenten, "/", ";" "?", sind   reserviert. Das Zeichen „/“ kann innerhalb HTTP verwendet werden, eine zu bezeichnen,   hierarchische Struktur.

Die Suchteil / query Teil wird hier beschrieben .

Andere Tipps

Nutzung & für das zweite und dritte

d. http://asdf.com/something.do?param1=true¶m2=false

  

application / x-www-form-urlencoded

     

Dies ist der Standard-Inhaltstyp. Formulare mit diesem Inhaltstyp eingereicht werden, müssen wie folgt codiert werden:

     
      
  1. Steuer Namen und Werte sind entkommen. Leerzeichen werden durch + ersetzt und dann reservierte Zeichen entgangen sind, wie in [RFC1738], Abschnitt 2.2: Nicht-alphanumerische Zeichen durch %HH ersetzt werden, ein Prozentzeichen und zwei hexadezimale Ziffern, die den ASCII-Code des Zeichens. Zeilenumbrüche werden als "CR LF" -Paare dargestellt (d.h. %0D%0A).
  2.   
  3. Die Steuer Namen / Werte werden in der Reihenfolge, wie sie im Dokument erscheinen aufgeführt. Der Name stammt von dem Wert getrennt durch = und Namen / Wert-Paare voneinander durch & getrennt sind.
  4.   
     

- application / x- www-form-urlencoded

Wie bereits erwähnt, ist es nicht gültig, es wieder zu verwenden. Wenn Sie jedoch haben die? Zeichen als Teil eines Parameterwerts, können Sie es als% 63 (genau wie das Leerzeichen, die als% 20 codiert werden) kodieren.

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