Эй, дхендрикс,
Я делаю то, что вы делаете - изучаете MVC, изучая другие фреймворки и создавая их с нуля.
Прежде всего, вы не должны использовать GET для обработки любых данных формы. Вместо этого используйте POST или PUT. POST используется только для получения информации из веб-сервиса. Вы можете использовать действия в GET в значительной степени, чтобы манипулировать информацией, которую нужно извлечь (например, порядок сортировки, страницы и т. Д.).
Относительно ваших очков:
1) Не использовать формы метода GET
Правильно. Во-первых, это звучит неправильно, что для того, чтобы получить определенное представление, вы должны использовать форму.
2) Использовать AJAX вместо отправки формы
Точно. Ваши формы и URL должны работать как с JS, так и без него.
3) Попросите страницу представить себя методом post, , затем преобразовать переменные post в URL, а затем перенаправить на этот URL с помощью заголовков (похоже, на потраченные ресурсы).
Я бы не сказал, что это потраченные впустую ресурсы. Это займет всего миллисекунды для вашего приложения. На самом деле это именно то, что я делаю в конечном итоге. Когда фронт-контроллер обнаруживает использование POST, он отправляет его контроллеру, который выполняет необходимые действия с представленными данными. В зависимости от результата приложение либо перенаправляет клиента, либо отображает запрошенную страницу (без перенаправления). И да, это работает одинаково для ЛЮБОГО URL.
В то же время, если в URL был найден определенный параметр, Front controller отправляет соответствующий контроллер. Но это никогда не используется для обработки данных в любом случае. Например, это используется для запоминания предпочтительного домена (www или мобильный), когда вы хотите использовать www при просмотре в мобильном браузере.
Также, IMO, вы могли бы сказать, что потраченные впустую ресурсы были бы APP, решающими, куда перенаправить (или передавая URL перенаправления в запросе HTTP или сеансе PHP). В любом случае для реализации альтернативных методов требуются как время разработки, так и ресурсы сервера.
Так что, на мой взгляд, # 3 - это путь.