Ich habe mich immer gefragt, warum so viele Java-Entwickler ".do" als Erweiterung für ihre MVC-Ressourcen (Web Controller) verwenden. Beispiel: http://example.com/register.do
Es scheint nicht einmal Framework-spezifisch zu sein, wie ich es in Spring MVC- und Struts-Projekten gesehen habe. Woher kommt diese ".do" -Erweiterungspraxis? Warum wurde dies anstelle einer Erweiterung durchgeführt? Ich habe das Gefühl, dass ich das Java World Memo dazu verpasst habe.
Persönlich bevorzuge ich keine Verlängerung.
java
servlets
web-applications
Adam Gent
quelle
quelle
Antworten:
Meines Wissens wurde diese Konvention von Struts1 verbreitet. In der Bedienungsanleitung heißt es:
Und ich denke, diese Konvention wurde beibehalten (manchmal , um URLs auch nach dem Ersetzen von Struts1 nicht zu ändern , manchmal nur, weil die Leute damit zufrieden waren).
quelle
Es war üblich, das Struts-Servlet in web.xml * .do zuzuordnen, um URLs an das Struts-Servlet zu übergeben. Beispielsweise:
Es gibt wirklich keinen Grund außer Konvention dafür. Wenn Sie keine Erweiterung verwenden, müssen Sie etwas Magie anwenden, um Bilder und andere statische Inhalte so zu verarbeiten, dass sie nicht an Ihr Sevlet gesendet werden. Dies geschieht häufig an einem Load Balancer eines Fronting-Webservers.
quelle
Nur ein Sicherheitstipp!
Es wird empfohlen, eine ungewöhnliche Erweiterung für Ihren Controller zu verwenden. Auf diese Weise müssen die Eindringlinge mehr Zeit aufwenden, um Informationen über die Site zu finden.
Wenn Sie also die Standarderweiterung sowie einige wenige Statiken in Ihrem Framework ändern, die möglicherweise Ihre Hand offenbaren, ist Ihr MVC-Framework möglicherweise völlig unbekannt.
Ändern Sie sogar die Erweiterung auf
php
oderaspx
könnte eine gute Idee sein.Nun, in der Tat ist dies Sicherheit durch Verschleierung, aber dies ist nicht das Gegenteil von guter Sicherheit. Es könnte hilfreich sein, Sicherheit durch Dunkelheit auf ein bereits sicheres System zu legen. Es gibt interessante Vor- und Nachteile der Sicherheit durch Verschleierung und wenn beide im Internet verwendet werden können.
quelle