Quali caratteri speciali sono sicuri da usare in url?
Quali caratteri speciali sono sicuri da usare in url?
Risposte:
I caratteri sicuri sono az, AZ, 0-9 e _ - (trattino basso e meno), che oltre ai caratteri riservati utilizzati per i parametri.
Altri personaggi daranno problemi in una certa misura. esempio: se un parametro è un array, ?param=array[content]
cioè mostrerà un url con l'URL codificato tra parentesi quadre, che sembra brutto e impossibile da dettare.
Ma il problema non è solo brutto, diciamo che hai un jpg con un personaggio oltre a quelli più sicuri, molte volte il browser non sarà in grado di scaricarlo ottenendo un 404. Questo è un problema dei browser più vecchi e di alcuni browser mobili.
Come testarlo?
Ho una casella di posta con 14000 e-mail che dimostrano il mio punto.
I seguenti caratteri hanno un significato speciale nel componente path del tuo URL (il componente path è tutto prima del '?'):
";" | "/" | "?"
Oltre a questi, i seguenti caratteri hanno un significato speciale nella parte della query del tuo URL (tutto dopo '?'). Pertanto, se sono dopo il '?' devi scappare da loro:
":" | "@" | "&" | "=" | "+" | "$" | ","
Per una spiegazione più approfondita, consultare RFC .
Le risposte qui sono buone, ma penso che valga la pena menzionare un'altra eccezione: i caratteri non inglesi. Facendo riferimento a questa domanda SF qui , caratteri come ñ (come in Español) sono perfettamente legittimi, SE sono stati codificati correttamente nel tuo DNS.
Devi usare Punycode all'interno del tuo DNS per farli risolvere nei browser moderni (la voce per español è xn--espaol-zwa
) ma questi ora sono perfettamente sicuri da usare nei nomi di dominio, in quanto sono facili da scrivere anche per chi non parla inglese .