2009-11-07 15 views

risposta

20

Sì, è possibile utilizzare la pianura nel tuo percorso URL simile a questo:

http://example.com/Alice&Bob 

Solo se si desidera utilizzarlo nella query è necessario codificare con %26:

http://example.com/?arg=Alice%26Bob 

Altrimenti verrebbe interpretato come separatore di argomenti se interpretato come application/x-www-form-urlencoded.

Vedere RFC 3986 per ulteriori dettagli.

+0

Spero che sia vero: farebbe la differenza tra una risposta grandiosa e una cattiva. Le citazioni in-line datate da * RFC3986 * possono rendere questo superbo – Borodin

2

A meno che non si aggiungano variabili alla stringa di query, codificarlo.

1

codificare '&' con & (questa risposta si basa su l'utilizzo dei tag)

Se ti stai chiedendo cosa usare "&" o "e" al momento della registrazione del nome del tuo URL, userei "e".

EDIT: Come accennato nei commenti "& è un'entità carattere HTML e non di un'entità carattere URI Mettendo che in un URI hai ancora il carattere e commerciale ed i caratteri estranei aggiuntivi.". Ho iniziato a rispondere prima di comprendere appieno la tua domanda.

+2

& è un'entità di carattere HTML e non un'entità di carattere URI. Inserendolo in un URI hai ancora il carattere di e commerciale e caratteri estranei aggiuntivi. –

+0

* Palmo della faccia * Giusto, pubblicato prima di pensare che attraverso. Giù vota come appropriato. – MarkPowell

+0

Basta cancellare la risposta invece di chiedere voti bassi :) – truppo

6

Un URL è in genere sotto forma

scheme://host/some/path/to/file?query1=value&query2=value 

Quindi non è consigliabile utilizzarlo in un URL a meno che non si desidera utilizzare per i parametri. Altrimenti dovresti sfuggire la percentuale utilizzando% 26, ad es.

http://www.example.com/hello%26world 

Ciò si traduce nel percorso sia presentata nel ciao & mondo. Ci sono altri caratteri che devono essere sfuggiti se usati fuori dal contesto in un URL. Vedere here per un elenco.

+0

Non hai bisogno di codificarlo quando viene usato nel percorso dell'URL. – Gumbo

+0

Ok, non lo sapevo. Ho appena letto la parte relativa alla codifica nella RFC che hai collegato nella tua risposta. Ma se ho capito correttamente, sembra che http://example.com/Alice&Bob e http://example.com/Alice%26Bob non siano considerati equivalenti e possano essere interpretati in modo diverso da un'applicazione (che però non è il caso di HTTP come hai sottolineato). – Alfonso

Problemi correlati