Sempre me perguntei por que tantos desenvolvedores Java usam ".do" como extensão para seus recursos de controlador da web (MVC). Exemplo: http://example.com/register.do
Nem parece ser específico do framework, como vi nos projetos Spring MVC e Struts. De onde veio essa prática de extensão ".do". Por que isso foi feito em vez de nenhuma extensão? Eu sinto que perdi o memorando mundial de Java sobre isso.
Pessoalmente, prefiro nenhuma extensão.
java
servlets
web-applications
Adam Gent
fonte
fonte
Respostas:
Até onde sei, esta convenção foi divulgada pelo Struts1. O guia do usuário coloca assim:
E eu acho que essa convenção foi mantida (às vezes para não alterar os URLs mesmo depois de substituir o Struts1, às vezes apenas porque as pessoas estavam felizes com isso).
fonte
Era uma prática comum mapear seu servlet struts para * .do em web.xml para passar URLs para o servlet struts. Por exemplo:
Realmente não há razão para isso, exceto a convenção. Se você não usa nenhuma extensão, você precisa fazer alguma mágica para lidar com imagens e outros conteúdos estáticos de uma forma que não os envie para o seu sevlet. Freqüentemente, isso é feito em um balanceador de carga de um servidor web fronting.
fonte
Só uma dica de segurança!
É uma boa prática usar alguma extensão incomum para o seu controlador, desta forma os invasores precisarão gastar mais tempo para encontrar algumas informações sobre o site.
Portanto, se você alterar a extensão padrão, além de algumas poucas estáticas em sua estrutura que podem revelar sua mão, sua estrutura MVC pode ser completamente desconhecida.
Até mesmo mude a extensão para
php
ouaspx
pode ser uma boa ideia.Bem, de fato, isso é segurança por ofuscação, mas isso não é o oposto de boa segurança. Camadas de segurança por obscuridade em cima de um sistema já seguro pode ajudar. Existem prós e contras interessantes de segurança por ofuscação e quando ambos podem ser usados na Internet.
fonte