Questo non applicano solo per la e commerciale negli URL , ma a tutti reserved characters. Alcuni dei quali comprendono:
# $ & + ,/: ; = ? @ [ ]
L'idea è la stessa come codificante un &
in un documento HTML, ma il contesto è cambiato per essere all'interno della URI, oltre ad essere all'interno del documento HTML. Pertanto, la codifica percentuale impedisce problemi di analisi all'interno di entrambi i contesti.
Il luogo in cui questo è utile è quando è necessario inserire un URL all'interno di un altro URL. Ad esempio, se si desidera inviare uno status su Twitter:
http://www.twitter.com/intent/tweet?status=What%27s%20up%2C%20StackOverflow%3F(http%3A%2F%2Fwww.stackoverflow.com)
c'è un sacco di caratteri riservati nel mio Tweet, vale a dire ?'():/
, così ho codificato l'intero valore del parametro status
URL. Ciò è utile anche quando si utilizzano i collegamenti mailto:
con corpo o oggetto del messaggio, poiché è necessario codificare i parametri body
e subject
per mantenere intatte le interruzioni di riga, la e commerciale, ecc.
Quando un personaggio dal set riservata (un "personaggio riservato") ha significato speciale (uno "scopo riservato") in un certo contesto, e uno schema URI dice che è necessario utilizzare quel personaggio per qualche altro scopo , il carattere deve essere codificato in percentuale.Codifica percentuale un carattere riservato comporta la conversione del carattere nel suo valore di byte corrispondente in in ASCII e quindi che rappresenta tale valore come una coppia di cifre esadecimali. Le cifre, precedute da un segno di percentuale ("%") che viene utilizzato come carattere di escape, vengono quindi utilizzate nell'URI al posto del carattere riservato. (Per un carattere non ASCII, è convertito in genere nella sua sequenza di byte in UTF-8 e quindi ogni valore di byte è rappresentato come sopra.) Il carattere riservato "/", per esempio , se utilizzato nel " percorso "di un URI, ha il significato speciale di di essere un delimitatore tra i segmenti del percorso. Se, in base a uno schema URI fornito da , "/" deve trovarsi in un segmento di percorso, è necessario utilizzare i tre caratteri "% 2F" o "% 2f" nel segmento anziché "/".
http://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
fonte
2014-02-11 15:55:01
: -% 26 non funziona per me. C'è un'altra soluzione.? – Sanjiv
@Sanjiv: cosa intendi con "non funziona"? – Blender
Quando sostituisco & su% 26, mostra ancora lo stesso errore-- 'È stato rilevato un valore Request.Path potenzialmente pericoloso dal client (&).' – Sanjiv