Domanda

Sono gli URL del modulo http://asdf.com/something.do ? param1 = true? param2 = false valido?

Non penso al secondo? è consentito in URL validi e dovrebbe invece essere una e commerciale (& amp;), ma non riesco a trovare nulla al riguardo in http 1.1 rfc. Qualche idea?

È stato utile?

Soluzione

Non è valido da usare? ancora. ? dovrebbe indicare l'inizio dell'elenco dei parametri. & Amp; dovrebbe separare i parametri.

Da RFC 3986 :

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

Da RFC 1738 :

  

Un URL HTTP ha la forma:

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

dove <host> e <port> sono come descritto nella Sezione 3.1. Se :<port>   viene omesso, per impostazione predefinita la porta è 80. Nessun nome utente o password è   permesso. <path> è un selettore HTTP e <searchpart> è una query   stringa. <=> è facoltativo, così come <=> e relativo   precedente "? " ;. Se non è presente né <=> né <=>, il & Quot; / & Quot;   può anche essere omesso.

     

All'interno dei componenti <=> e <=>, " / " ;, " ;; " ;, "? " siamo   riservato. Il & Quot; / & Quot; il carattere può essere utilizzato in HTTP per designare a   struttura gerarchica.

La parte di ricerca / parte di ricerca è descritta qui .

Altri suggerimenti

usa & amp; per il secondo e il terzo

vale a dire. http://asdf.com/something.do?param1=true < !> amp; param2 = falso

  

application / x-www-form-urlencoded

     

Questo è il tipo di contenuto predefinito. I moduli inviati con questo tipo di contenuto devono essere codificati come segue:

     
      
  1. I nomi e i valori di controllo sono sottoposti a escape. I caratteri spaziali vengono sostituiti da +, quindi i caratteri riservati vengono esclusi come descritto in [RFC1738], sezione 2.2: I caratteri non alfanumerici vengono sostituiti da %HH, un segno di percentuale e due cifre esadecimali che rappresentano il codice ASCII del carattere . Le interruzioni di riga sono rappresentate come & Quot; CR LF & Quot; coppie (ovvero %0D%0A).
  2.   
  3. I nomi / valori di controllo sono elencati nell'ordine in cui compaiono nel documento. Il nome è separato dal valore da = e le coppie nome / valore sono separate l'una dall'altra da &.
  4.   
     &

# 8212; application / x-www-form- urlencoded

Come accennato, non è valido riutilizzarlo. Tuttavia, se hai il? carattere come parte del valore di un parametro, puoi codificarlo come% 63 (proprio come il carattere spazio che viene codificato come% 20).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top