Я всегда задавался вопросом, почему так много разработчиков Java используют ".do" в качестве расширения для своих ресурсов веб-контроллера (MVC). Пример: http://example.com/register.do
Он даже не кажется специфичным для фреймворка, как я видел это в проектах Spring MVC и Struts. Откуда взялась эта практика расширения ".do". Почему это было сделано вместо того, чтобы не продлевать? Я чувствую, что пропустил меморандум о мире Java по этому поводу.
Лично я не предпочитаю продления.
java
servlets
web-applications
Адам Гент
источник
источник
Ответы:
Насколько мне известно, это соглашение было распространено Struts1. В руководстве пользователя это написано так:
И я думаю, что это соглашение было соблюдено (иногда для того, чтобы не менять URL-адреса даже после замены Struts1, иногда просто потому, что людям это понравилось).
источник
Обычной практикой было сопоставление сервлета struts с * .do в web.xml для передачи URL-адресов сервлету struts. Например:
На самом деле для этого нет никаких оснований, кроме условностей. Если вы не используете расширение, вам нужно сделать некоторую магию для обработки изображений и другого статического контента таким образом, чтобы они не отправлялись в ваш севлет. Часто это делается на балансировщике нагрузки на выходном веб-сервере.
источник
Просто совет по безопасности!
Рекомендуется использовать какое-нибудь необычное расширение для вашего контроллера, таким образом злоумышленникам потребуется больше времени, чтобы найти некоторую информацию о сайте.
Поэтому, если вы измените расширение по умолчанию, а также несколько статических параметров в своей структуре, которые могут раскрыть вашу руку, ваша среда MVC может быть полностью неизвестной.
Даже изменить расширение на
php
илиaspx
могло бы быть хорошей идеей.На самом деле это безопасность путем обфускации, но это не противоположность хорошей безопасности. Может помочь наложение безопасности посредством неизвестности поверх уже защищенной системы. Есть интересные плюсы и минусы безопасности за счет обфускации, и когда они оба могут использоваться в Интернете.
источник