mi sono imbattuto nel seguente URL oggi:È valido avere più di un punto interrogativo in un URL?
http://www.sfgate.com/cgi-bin/blogs/inmarin/detail??blogid=122&entry_id=64497
Avviso il punto interrogativo raddoppiato all'inizio della stringa di query:
??blogid=122&entry_id=64497
Il mio browser non sembrano avere alcun problema con esso, ed eseguendo un bookmarklet rapido:
javascript:alert(document.location.search);
mi ha appena fornito la stringa di query sopra riportata.
È un URL valido? Il motivo per cui sono così pedante (presumendo che lo sia) è perché ho bisogno di analizzare URL come questo per i parametri di ricerca, e il supporto di punti interrogativi raddoppiati richiederebbe alcune modifiche al mio codice. Ovviamente se sono in libertà, ho bisogno di sostenerli; Sono principalmente curioso di sapere se è colpa mia se non aderisco agli standard URL esattamente, o se è in realtà un URL non standard.
Fortunatamente, nonostante questo non ho avuto bisogno di cambiare il mio codice. Stavo usando 'indexOf()' per localizzare il punto interrogativo, quindi ha rilevato la posizione della prima occorrenza. Quindi sto suddividendo i parametri query_parameters in corrispondenza di '&' e quindi le loro coppie nome/valore in corrispondenza di '='. – Bungle