Siempre me he preguntado por qué tantos desarrolladores de Java usan ".do" como extensión para sus recursos de controlador web (MVC). Ejemplo: http://example.com/register.do
Ni siquiera parece ser un marco específico como lo he visto en los proyectos Spring MVC y Struts. ¿De dónde viene esta práctica de extensión ".do"? ¿Por qué se hizo esto en lugar de ninguna extensión? Siento que me perdí el memorando mundial de Java sobre esto.
Personalmente prefiero ninguna extensión.
java
servlets
web-applications
Adam Gent
fuente
fuente
Respuestas:
Que yo sepa, esta convención ha sido difundida por Struts1. La guía del usuario lo expresa así:
Y creo que esta convención se ha mantenido (a veces para no cambiar las URL incluso después de reemplazar Struts1, a veces solo porque la gente estaba contenta con ella).
fuente
Era una práctica común asignar su servlet struts a * .do en web.xml para pasar las URL al servlet struts. Por ejemplo:
Realmente no hay ninguna razón, excepto una convención, para esto. Si no usa ninguna extensión, necesita hacer algo de magia para manejar imágenes y otro contenido estático de una manera que no los envíe a su sevlet. A menudo, esto se hace en un equilibrador de carga de un servidor web frontal.
fuente
¡Solo un consejo de seguridad!
Es una buena práctica usar alguna extensión inusual para su controlador, de esta manera los intrusos necesitarán dedicar más tiempo a encontrar información sobre el sitio.
Entonces, si cambia la extensión predeterminada, además de algunas estadísticas en su marco que pueden revelar su mano, su marco MVC puede ser completamente desconocido.
Incluso cambiar la extensión
php
aoaspx
podría ser una buena idea.Bueno, de hecho, esto es seguridad por ofuscación, pero esto no es lo opuesto a una buena seguridad. La seguridad en capas por oscuridad sobre un sistema ya seguro podría ayudar. Hay ventajas y desventajas interesantes de la seguridad por ofuscación y cuándo se pueden usar ambas en Internet.
fuente