Zawsze zastanawiałem się, dlaczego tak wielu programistów Java używa „.do” jako rozszerzenia swoich zasobów kontrolera sieci (MVC). Przykład: http://example.com/register.do
Wydaje się, że nie jest to nawet specyficzne dla frameworka, ponieważ widziałem to w projektach Spring MVC i Struts. Skąd wzięła się praktyka rozszerzenia „.do”. Dlaczego zrobiono to zamiast bez rozszerzenia? Wydaje mi się, że przegapiłem w tej sprawie notatkę o Javie.
Osobiście wolę brak przedłużenia.
java
servlets
web-applications
Adam Gent
źródło
źródło
Odpowiedzi:
O ile mi wiadomo, ta konwencja została rozpowszechniona przez Struts1. Podręcznik użytkownika przedstawia to w następujący sposób:
Myślę, że ta konwencja została zachowana (czasami po to, aby nie zmieniać adresów URL nawet po zastąpieniu Struts1, czasami tylko dlatego, że ludzie byli z tego zadowoleni).
źródło
Powszechną praktyką było mapowanie serwletu struts do * .do w pliku web.xml w celu przekazywania adresów URL do serwletu struts. Na przykład:
Tak naprawdę nie ma ku temu powodu poza konwencją. Jeśli nie używasz żadnego rozszerzenia, musisz zrobić trochę magii, aby obsłużyć obrazy i inną statyczną zawartość w sposób, który nie wysyła ich do twojego sevletu. Często odbywa się to w module równoważenia obciążenia frontowego serwera WWW.
źródło
Tylko wskazówka dotycząca bezpieczeństwa!
Dobrą praktyką jest użycie nietypowego rozszerzenia kontrolera, w ten sposób intruzi będą musieli spędzić więcej czasu, aby znaleźć informacje o witrynie.
Więc jeśli zmienisz domyślne rozszerzenie, plus kilka statystyk w twoim frameworku, które mogą ujawnić twoją rękę, twój framework MVC może być całkowicie nieznany.
Nawet zmień rozszerzenie na
php
lubaspx
może być dobrym pomysłem.Cóż, rzeczywiście jest to ochrona przez zaciemnianie, ale nie jest to przeciwieństwo dobrej ochrony. Pomocne może być nałożenie zabezpieczeń na zaciemnienie na już zabezpieczonym systemie. Istnieją ciekawe zalety i wady bezpieczeństwa przez zaciemnianie i kiedy można ich używać w Internecie.
źródło