«Это нехорошо» правильно анализируется в каждом браузере, о котором я знаю; если в строке, закодированной в URL, появятся два URL-адреса, они будут обрабатываться как массив. Попробуйте это в JQuery:
$('<form name="form1">\
<input type="hidden" name="url" value="1">\
<input type="hidden" name="url" value="2">\
</form>').serialize()
и вы получите: "url=1&url=2"
хорошо написанный синтаксический анализатор строки запроса вернет структуру json, подобную этой:
{"url":["1", "2"]}
Это строго спецификация? Нет, но ни одна из них не создает многострочную строку, экранируя EOL с помощью обратной косой черты, как я делал выше.