I seguenti URL devono essere considerati funzionalmente equivalenti?Parametri stringa di query URI vuoti: "a = & b =" rispetto a "a & b"
http://example.com/foo?a=&b=
http://example.com/foo?a&b
Ciò avvenne quando un utente di un modulo Drupal che ho scritto, che analizza a parte e poi riscrive URI noticed che il codice a volte causa le parti della stringa di query per cambiare in modo inaspettato a causa di come alcune delle funzioni PHP sottostanti comportarsi. Ad esempio:
parse_str("a&b", $values); print http_build_query($values);
a=&b=
È qualcosa su cui dovrei preoccuparmi?
Modifica si ferma in modo SO lamentano del fatto che questa domanda è simile ad un altro: La domanda è se è lecito ritenere che "nessun valore per X" e "valore vuoto per X" sono equivalenti, non è se il "nessun valore" lo stile è sintatticamente corretto (che è).
come un parere, sì, questo è qualcosa che dovresti preoccuparti visto che prima o poi si interromperanno in modi misteriosi che possono essere difficili da debugare, a seconda di come prevedi di consumare i parametri di una e b query. Se saranno vuoti/nulli, perché generarli in primo luogo? un approccio migliore potrebbe essere che lo script del server verifichi l'esistenza di questi parametri. –
Non ho davvero il controllo su cosa faranno i server collegati. Fondamentalmente spero solo che ci sia uno standard codificato là fuori che non riesco a trovare qualcuno a cui possa indirizzarmi o, in mancanza, solo un metodo di implementazione ampiamente coerente. Se non riesco a trovarlo, allora dovrei iniziare a preoccuparmi ea reinventare le ruote. –
Possibile duplicato di [È un parametro di query url valido se non ha alcun valore?] (Https://stackoverflow.com/questions/4557387/is-a-url-query-parameter-valid-if-it-has-no -valore) –