Saya selalu bertanya-tanya mengapa begitu banyak pengembang Java menggunakan ".do" sebagai ekstensi untuk sumber daya pengontrol web (MVC) mereka. Contoh: http://example.com/register.do
Itu bahkan tampaknya tidak spesifik kerangka kerja seperti yang saya lihat di proyek Spring MVC dan Struts. Dari mana asal praktik ekstensi ".do" ini. Mengapa ini dilakukan, bukan tanpa ekstensi? Saya merasa seperti saya melewatkan memo dunia Jawa tentang ini.
Secara pribadi saya lebih suka tidak ada ekstensi.
java
servlets
web-applications
Adam Gent
sumber
sumber
Jawaban:
Sepengetahuan saya, konvensi ini telah disebarkan oleh Struts1. Panduan pengguna mengatakannya seperti ini:
Dan saya pikir konvensi ini telah dipertahankan (terkadang untuk tidak mengubah URL bahkan setelah mengganti Struts1, terkadang hanya karena orang menyukainya).
sumber
Ini adalah praktik umum untuk memetakan servlet struts Anda ke * .do di web.xml untuk meneruskan URL ke servlet struts. Sebagai contoh:
Sebenarnya tidak ada alasan kecuali konvensi untuk ini. Jika Anda tidak menggunakan ekstensi, Anda perlu melakukan sihir untuk menangani gambar dan konten statis lainnya dengan cara yang tidak mengirimkannya ke sevlet Anda. Seringkali ini dilakukan pada penyeimbang beban dari server web fronting.
sumber
Hanya tip keamanan!
Ini adalah praktik yang baik untuk menggunakan beberapa ekstensi yang tidak biasa untuk pengontrol Anda, dengan cara ini penyusup perlu menghabiskan lebih banyak waktu untuk menemukan beberapa info tentang situs tersebut.
Jadi jika Anda mengubah ekstensi default, ditambah beberapa statika dalam kerangka kerja Anda yang dapat mengungkapkan tangan Anda, kerangka kerja MVC Anda bisa sama sekali tidak dikenal.
Bahkan mengubah ekstensi menjadi
php
atauaspx
bisa jadi ide yang bagus.Memang ini keamanan dengan kebingungan, tapi ini bukan kebalikan dari keamanan yang baik. Melapisi keamanan dengan ketidakjelasan di atas sistem yang sudah aman mungkin membantu. Ada pro dan kontra yang menarik tentang keamanan dengan kebingungan dan kapan keduanya dapat digunakan di internet.
sumber