Я изучаю веб-разработку (и учусь в колледже), поэтому приношу свои извинения, если это звучит наивно и оскорбительно, я определенно не имею в виду этого. У меня был опыт работы с PHP, и с небольшим проектом на горизонте (прославленный календарь смен) я надеялся изучить одну из фреймворков более высокого уровня, чтобы облегчить нагрузку на код. Пока что я посмотрел на CakePHP Symfony Django и Rails.
В PHP URL-адреса очень просто сопоставлялись с файлами, и это «просто работало». Это было быстро для сервера и интуитивно понятно. Но во всех этих фреймворках есть тенденция «приукрашивать» URL-адреса, заставляя их отображать разные функции и направлять параметры в разные переменные в разных файлах.
Книга «Путь рельсов», которую я читаю, признает, что это очень медленно и является причиной большинства проблем с производительностью в крупных проектах. У меня вопрос: «Зачем он вообще?»? Есть ли конкретная точка в парадигме url-maps-to-a-file (или mod_rewrite для одного файла), которая требует регулярных выражений и сложных схем маршрутизации? Я что-то упускаю из-за того, что не использую их?
Заранее спасибо!





mod_rewrite, что не проще, чем сопоставление URL-адресов Rails.http://www.example.com/имя пользователя/некоторые дополнительные вещи/. Это также можно сделать с помощью mod_rewrite, но, по крайней мере, для меня проще настроить URL-адреса в проекте django, чем в каждом экземпляре apache, в котором я запускаю приложение.только мои 2 цента ...
Также роутеры похожи на mod_rewrite, но намного более гибкие. Они не привязаны к регулярным выражениям и, следовательно, имеют больше возможностей для разных типов маршрутов.
Зависит от размера вашего приложения. У нас довольно большое приложение (более 50 моделей), и оно не вызывает у нас никаких проблем. Когда это произойдет, тогда мы будем об этом беспокоиться.
URL-адреса Django также очень настраиваемы. С PHP-фреймворками, такими как Code Igniter (я не уверен насчет Rails), вы вынуждены использовать структуру / class / method / extra / URL. Хотя это может быть хорошо для небольших проектов и приложений, как только вы попытаетесь сделать его больше / более динамичным, вы столкнетесь с проблемами, и вам придется переписать часть кода фреймворка, чтобы справиться с этим.
Сохранение кода приложения в дереве документов веб-сервера является проблемой безопасности.
Обратите внимание, что все вышеперечисленное не является проблемой, пока другие вещи не пойдут не так (а некоторые из этих ошибок будут серьезными даже в одиночку). Но всегда что-то идет не так, и нужно иметь дополнительные линии защиты.
Большая часть этого уже рассмотрена, но еще никто не упомянул о SEO. Google придает большое значение самому URL-адресу, если этот URL-адрес widgets.com/browse.php?17, это не очень удобно для SEO. Если ваш URL-адрес - widgets.com/products/buttons/, это положительно повлияет на рейтинг вашей страницы для кнопок.