Sering kali saya melihat bahwa ekstensi URL disembunyikan (mis. .html
, .php
), Tetapi tidak semua situs web melakukan hal ini.
Mengapa webmaster menyembunyikan ekstensi? Apakah itu untuk keamanan, agar URL terlihat lebih bersih, atau untuk tujuan lain?
url
url-rewriting
filenames
clean-urls
Tidak dikenal
sumber
sumber
Jawaban:
Ada beberapa alasan untuk menghapus ekstensi dari URL:
Perlu diingat bahwa banyak situs yang dihasilkan oleh sistem manajemen konten (CMS) yang akan membuat URL terlihat seperti ini:
/index.php?page=this-is-the-widget-page
. Itu sangat jelek dan memiliki kekuatan lebih dari sekedar ekstensi. Menulis ulang untuk menghapusindex.php?page=
membuatnya lebih baik.Ekstensi tidak diperlukan di web karena server mengirim jenis dokumen sebagai header. Halaman web disajikan sebagai
text/html
, gambar sebagaiimage/png
atauimage/jpeg
. Ini memungkinkan browser mengetahui cara merender konten tanpa menggunakan ekstensi untuk mengetahui bahwa URL berisi teks, HTML, PDF atau gambar (untuk informasi lebih lanjut lihat artikel Wikipedia jenis media Internet ).Beberapa webmaster memilih untuk menggunakan ekstensi pada URL mereka yang cocok dengan jenis konten ini. Jadi setiap
text/html
dokumen akan memiliki.html
ekstensi danimage/png
dokumen apa pun akan memiliki.png
ekstensi. Itu dapat membantu ketika URL disimpan ke sistem file di mana meta data tentang jenis konten mereka hilang. Di sebagian besar sistem file, program yang membuka file dipilih oleh ekstensi. Jadi, bahkan jika halaman dilayani oleh PHP, beberapa webmaster menghapus.php
ekstensi, dan beberapa menggantinya dengan.html
.Ada juga pertanyaan apakah URL mungkin lebih baik diakhiri dengan trailing slash (
/
) ketika mereka tidak memiliki ekstensi yang memiliki banyak diskusi tentang Stack Overflow.sumber
Semua server web memiliki satu atau lebih "file default". Ini adalah file yang akan ditampilkan setiap kali pengunjung pergi ke URL yang berakhir dengan garis miring
/
, yaitu folder.Jika nama file default pada server web Anda adalah
index.php
dan pengunjung pergi kewww.example.com/pagename/
, mereka sebenarnya mengakseswww.example.com/pagename/index.php
.Jika tidak ada trailing
/
, server web mungkin hanya menulis ulang URL untuk menghapusnya, karena itu tidak perlu. Situs ini, pada kenyataannya, melakukan itu.sumber
Ini adalah jenis skema URI "keren" yang saya targetkan di situs web pribadi saya.
Secara pribadi, alasan saya mulai melakukannya (dan mungkin lebih banyak perancang / pengembang web juga!) Adalah setelah membaca artikel "URI keren tidak berubah" - dokumen ini ditulis oleh ayah pendiri World Wide Web, Tim Berners -Lee.
Dalam artikel Tim Berners-Lee yang terkenal, ia pada dasarnya menyatakan alasan yang sama dengan Stephen Ostermiller dalam jawaban yang sangat baik untuk pertanyaan ini .
Untuk memberikan jawaban yang lebih spesifik untuk pertanyaan utama Anda, "Mengapa ekstensi disembunyikan di URL?" Ya, saya akan mengatakan bahwa alasan utama saya adalah:
1. Untuk membuktikan di masa depan, URI:
Sebagai contoh, itu mungkin terdengar seperti ide yang baik pada saat itu untuk menggunakan URI seperti: di
http://www.example.com/page.pl
mana.pl
menjadi contoh file untuk skrip Perl. Namun, pada hari ini, sebagian besar pengembang web menggunakan ASP.NET atau PHP untuk backend-scripting, jadi meskipun hari ini ,http://www.example.com/page.php
terdengar seperti ide yang lebih baik, akhirnya PHP dan ASP / ASP.net akan menjadi kuno. Jadi ide yang lebih baik adalah hapus saja ekstensi tersebut.2. Keterbacaan dan Daya Ingat:
Jauh lebih mudah bagi URI “keren” untuk diberikan kepada orang secara lisan, di atas kertas (misalnya iklan, kartu nama, dll.), Belum lagi lebih mudah diingat.
3. "Hackability" *
Meskipun saya akan mengatakan bahwa sebagian besar pengguna akhir-akhir ini mungkin pergi melalui mesin pencari untuk semuanya - Saya bahkan telah melihat orang-orang yang akan pergi ke bilah alamat dan mengetik
www.google.com
, dan kemudian menggunakan Google untuk benar-benar mengetikwww.ebay.com
! Tapi, saya pikir jika saya memiliki situs web berbasis multimedia, URIhttp://www.example.com/video
mengisyaratkan bahwa bagian musik dapat ditemukan di bawah URIhttp://www.example.com/audio
, dan seterusnya. (Saya masih menggunakan bilah alamat untuk mengunjungi situs web - Saya “sekolah tua” tentang hal semacam itu!)* (! Oh “Hackability” - tidak kata yang bahkan ada ?! Yah, itu tidak sekarang !) :-)
4. ** Estetika: Agar terlihat lebih cantik! (Salahkan OCD saya!)
Namun, saya perhatikan dengan membaca berbagai situs web yang berhubungan dengan SEO, bahwa banyak webmasers sebenarnya menambahkan ekstensi file ke URI dinamis, misalnya:
URI yang sebenarnya mungkin:
http://www.example.com/article
Namun, webmaster akan melakukan penulisan ulang untuk membuat URI "terlihat" statis, seperti:
http://www.example.com/article.html
Logika di balik ini adalah bahwa pada dasarnya, mesin pencari akan menetapkan peringkat yang lebih tinggi untuk halaman statis (yang, tampaknya, lebih kecil kemungkinannya untuk berubah). (Meskipun saya bukan ahli dalam SEO, saya pribadi tidak setuju dengan ide ini - saya menyesali hal itu dengan pemikiran di balik algoritma Google dan Bing, akan membutuhkan sedikit lebih dari ekstensi file palsu untuk con cara Anda Anda ke posisi tiang SERP!)
Untuk informasi lebih lanjut tentang penamaan URI, saya sarankan membaca artikel ini:
Tim Berners-Lee:
Tips QA W3C:
Brian Kelly (Fokus Web UK / UKOLN - Universitas Bath):
Semoga ini membantu!
sumber
Saya setuju sepenuhnya untuk semua jawaban di atas. Hanya menambahkan bahwa salah satu alasan mengapa ekstensi disembunyikan di URL adalah untuk keamanan. Sederhananya, jika Anda tidak mengekspos ekstensi dalam URL, sedikit sulit untuk mengetahui teknologi di mana aplikasi telah dibangun. Jadi katakanlah sebuah halaman dibuat dalam PHP dan ekstensi tidak disembunyikan, maka peretas berpotensi menemukan kerentanan PHP dan menggunakannya untuk menjalankan beberapa aktivitas berbahaya.
sumber
Anda menyembunyikan ekstensi halaman Anda atau tidak, orang masih bisa tahu teknologi apa yang Anda gunakan. Dengan menggunakan cURL, bukan tidak mungkin untuk mendapatkan teknologi Anda dengan mengambil informasi header.
Kemudian, Anda akan melihat sesuatu seperti teknologi Anda, permintaan cache, koneksi dan banyak lagi.
sumber
Sepenuhnya setuju seperti yang dijelaskan oleh "Stephen Ostermiller" tetapi saya ingin menyebutkan trik di balik itu untuk menyembunyikan ekstensi URL. Dan untuk itu Anda harus menggunakan aturan penulisan ulang .htaccess , berikut ini skrip yang membantu Anda:
Alihkan
.php
permintaan eksternal ke URL tanpa ekstensisumber