Je me suis toujours demandé pourquoi tant de développeurs Java utilisent ".do" comme extension pour leurs ressources de contrôleur Web (MVC). Exemple: http://example.com/register.do
Cela ne semble même pas être spécifique au framework, comme je l'ai vu dans les projets Spring MVC et Struts. D'où vient cette pratique d'extension ".do". Pourquoi cela a-t-il été fait au lieu d'aucune extension? J'ai l'impression d'avoir manqué le mémo mondial de Java à ce sujet.
Personnellement, je ne préfère aucune extension.
java
servlets
web-applications
Adam Gent
la source
la source
Réponses:
A ma connaissance, cette convention a été diffusée par Struts1. Le guide de l'utilisateur l'exprime comme ceci:
Et je pense que cette convention a été conservée (parfois pour ne pas changer les URL même après avoir remplacé Struts1, parfois simplement parce que les gens en étaient satisfaits).
la source
Il était courant de mapper votre servlet struts à * .do dans web.xml pour transmettre des URL au servlet struts. Par exemple:
Il n'y a vraiment aucune raison sauf convention pour cela. Si vous n'utilisez aucune extension, vous devez faire de la magie pour gérer les images et autres contenus statiques d'une manière qui ne les envoie pas à votre sevlet. Cela se fait souvent au niveau d'un équilibreur de charge d'un serveur Web frontal.
la source
Juste un conseil de sécurité!
Il est recommandé d'utiliser une extension inhabituelle pour votre contrôleur, de cette manière les intrus devront passer plus de temps pour trouver des informations sur le site.
Donc, si vous changez l'extension par défaut, ainsi que quelques statiques dans votre framework qui peuvent révéler votre main, votre framework MVC peut être complètement inconnu.
Même changer l'extension
php
ouaspx
pourrait être une bonne idée.Eh bien, en effet, c'est la sécurité par obfuscation, mais ce n'est pas le contraire d'une bonne sécurité. Superposer la sécurité par l'obscurité sur un système déjà sécurisé pourrait aider. Il y a des avantages et des inconvénients intéressants de la sécurité par obfuscation et quand ils peuvent être tous deux utilisés sur Internet.
la source