Domanda

Quali sono i motivi alla base di URLEncodedFormat() escape di caratteri URL validi?

caratteri validi:

- _ . ! ~ * " ( )

Il CF8 Doc ha detto, " [<=> escape] caratteri non alfanumerici con sequenze di escape esadecimali equivalenti. " Tuttavia, perché sfuggire a caratteri URL validi?

È stato utile?

Soluzione

Sono validi, ma mi sembra abbastanza normale che se chiedi a un linguaggio di programmazione di url codificare una stringa, converta tutti i caratteri non alfanumerici nell'equivalente esadecimale.

Server.URLEncode () di ASP fa lo stesso e php urlencode () lo fa anche tranne - e _. Inoltre, in JavaScript, la funzione encodeURIComponent () codificherà tutti i caratteri non alfanumerici in equivalenti esadecimali.

Questa è comunque una buona idea per codificare tutti i caratteri non alfanumerici quando si utilizza l'input dell'utente per formare richieste del server per evitare che accada qualcosa di imprevisto.

Altri suggerimenti

La codifica di caratteri URL validi sta causando un errore o un problema?

Un problema potrebbe essere che non facendolo, se si incorpora un collegamento con caratteri non codificati in un messaggio di posta elettronica, il software di posta elettronica potrebbe decidere di suddividere il collegamento in due righe.

Se si utilizza un URL con codifica completa, tuttavia, le possibilità di questo sono notevolmente ridotte. Solo un modo di vederlo però.

Ho potuto vedere almeno nel caso di " che sarebbe bello averlo codificato quando si utilizza l'URL come collegamento in un tag di ancoraggio.

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