2011-11-03 9 views
14

Il %3B è trattato in modo diverso per %3b in un URL?La codifica percentuale dell'URL è sensibile al maiuscolo/minuscolo?

+1

Sì. Hai provato a google? http://www.google.no/search?gcx=w&sourceid=chrome&ie=UTF-8&q=url+encoding+case+sensitive Il risultato migliore ti dà esattamente ciò che desideri? –

+0

Ho trovato alcune informazioni contrastanti. Pensavo che fare una domanda sarebbe stato il modo più semplice per chiarire le cose. – hugomg

+0

Ok. Credo che le informazioni nel link dicano che proviene dalla RFC. Ma come è implementato è sempre un mistero con i produttori di browser. ;) –

risposta

17

No, la codifica percentuale dell'URL NON è sensibile al maiuscolo/minuscolo. Secondo RFC 3986:

2.1. Percentuale di codifica

[...]

Le cifre esadecimali maiuscole 'A' attraverso 'F' sono equivalenti ai cifre minuscole 'a' attraverso 'f', rispettivamente. Se due URI differiscono da solo nel caso di cifre esadecimali utilizzate in ottetti con codifica percentuale, sono equivalenti.

+0

Potrebbe essere opportuno ricordare che nei casi in cui un URI viene utilizzato per una dichiarazione dello spazio dei nomi in XML (anche XHTML, SOAP ecc.), La codifica percentuale non ha alcun effetto (non viene decodificata) e semplicemente parte della stringa quello costituisce lo spazio dei nomi. Di conseguenza, * è * case-sensitive. Cioè 'xmlns: t =" http://foo.bar/%2A "' è * non uguale, né equivalente * a 'xmlns: t =" http://foo.bar/%2a "'. – Abel

+0

@Abel mentre vero, quello è davvero giù agli spazi dei nomi XML che in realtà non sono URI (anche se le loro specifiche affermano falsamente il contrario). Ad esempio, la parte dello spazio dei nomi che si presume essere un componente di dominio è anche sensibile al maiuscolo/minuscolo nelle dichiarazioni dello spazio dei nomi XML, in violazione di RFC 3986. –

+0

esattamente, questo era il punto qui, grazie per dare più contesto – Abel