Это действительно вопрос личных предпочтений.
Лично я избегаю помещать информацию в строку запроса, как в варианте 3, так как я склонен использовать строку запроса для неиерархической информации. (Принятый ответ на на этот вопрос говорит о том, что первые два являются более правильными, в то время как в ответе с наибольшим количеством голосов говорится, что это действительно не имеет значения.)
Кэширование также является важным фактором, поскольку прокси-серверы могут не кэшировать ресурс, содержащий строку запроса (см. рекомендации Google по использованию кэшей прокси ).
Думаю, я бы выбрал второй или, возможно, гибрид (/animals/dogs/...
), чтобы указать иерархическую структуру ваших ресурсов, но это зависит от вас.