Mengapa memperlakukan ini sebagai URL dengan kapitalisasi jalur berbeda dan garis miring berbeda?

8

Ini semua url yang sangat berbeda:

http://www.example.com/page
http://www.example.com/pAge
http://www.example.com/page/
http://www.example.com/paGE/

Saya mengerti bahwa itu sesuai dengan aturan ISO yang ketat, tetapi mengapa? Berapa banyak situs web di luar sana yang benar-benar memperlakukan pagedan page/sebagai url berbeda yang dapat Anda kunjungi? Atau benar-benar menggunakan huruf besar untuk membedakan konten? Jika mereka melakukannya saya akan memberitahu mereka bahwa mereka mungkin melakukan kesalahan.

Mengapa kita harus membuang waktu kita sesuai dengan aturan ini? Bukankah sepele bagi Google untuk mengatasinya pagedan page/merupakan halaman yang sama dan mungkin tidak boleh diperlakukan sebagai konten duplikat?

Tom Gullen
sumber

Jawaban:

10

Saya mengerti bahwa itu sesuai dengan aturan ISO yang ketat, tetapi mengapa?

Ada beberapa sistem operasi di belakang berbagai server di internet, dan bagi sebagian dari mereka direktori atau file pagetidak sama dengan yang disebutkan Page. Hasilnya adalah bahwa mereka benar-benar adalah dua lokasi yang berbeda dan bahkan tidak harus jenis lokasi yang sama (dir / halaman). Server web mungkin dikonfigurasikan sebagai case-insensitive, tetapi Anda tidak dapat menganggap itu. Oleh karena itu, aturan harus mengasumsikan hal - hal yang peduli dengan kasus dan jika mereka tidak maka apa pun. Secara realistis, mungkin bukan ide bagus untuk mengandalkan perbedaan kasus, tetapi situasinya memang ada dan karenanya harus dipertanggungjawabkan, terkadang dengan hal-hal seperti mod_speling .

Berapa banyak situs web di luar sana yang benar-benar memperlakukan halaman dan halaman / sebagai url berbeda yang dapat Anda kunjungi?

Mereka yang berbeda. Itu hampir selalu tersembunyi dari Anda:

  1. Ketika Anda pergi ke example.com/foo/server web sadar Anda akan pergi ke direktori, dan mencari file di sana yang cocok dengan apa pun yang dikonfigurasikan untuk dikenali sebagai indeks direktori. Jadi akhirnya Anda berakhir di example.com/index.htmlmisalnya.
  2. Jika Anda pergi ke example.com/fooserver sebenarnya mencari file di direktori root bernama adil foo. Jika tidak menemukan satu, maka itu memeriksa apakah ada direktori bernama /foodan Anda bisa naik ke # 1.

Apa yang Anda baca sebagai perilaku "normal" di # 2 sebenarnya adalah mundur untuk menangani kasus yang mungkin.
Berapa banyak yang menggunakan nama file ekstensi-kurang adalah tidak relevan. Lagi: masalah nyata; perlu dipertanggungjawabkan.

Jika mereka melakukannya saya akan memberitahu mereka bahwa mereka mungkin melakukan kesalahan.

Itu pendapat.
Anda dapat mencadangkannya dengan berbagai argumen praktis tentang ketidakpekaan huruf besar-kecil dan cara menangani URL ekstensi-kurang yang saya tidak selalu tidak setuju, tetapi faktanya Anda salah mengatakan hal ini.

Su '
sumber
Contoh jelek / menjengkelkan untuk tidak mengacaukan kasus: Ada situs yang saya kelola, tetapi orang-orang IT klien mengelola server yang sebenarnya. Mereka mengkonfigurasinya untuk mengarahkan ulang semua klik example.com ke www.example.com tetapi karena alasan apa pun pengalihan juga memaksa semuanya huruf kecil (saya tidak diberitahu ini). Editor situs sedang mengunggah misalnya. CamelCase.jpg. Beberapa kode lain yang tidak saya kendalikan akan ditautkan ke gambar-gambar itu tanpa www, menyebabkan semua jenis kerusakan konyol sampai kami memburunya.
Su '
8

Tidak ada pelanggaran yang dimaksudkan, tetapi Case Sensitivity adalah VITAL untuk url hari ini - mereka digunakan jutaan kali sehari:

sedikit

  1. http://bit.ly/ri2LhQ
  2. http://bit.ly/ri2LHq

Dua situs yang sangat berbeda - hanya mungkin karena sensitivitas huruf

Chris Kluis
sumber
3
Coba tebak bagaimana saya melakukannya? Saya mengambil satu url saya dari kasing yang diganti secara acak. Butuh saya 2 kali mencoba membuat URL unik. Mengenai contoh Anda di mana relatif jelas bahwa masing-masing harus menjadi halaman yang sama ... itu adalah apa redirection berbasis kanonik atau server berbasis masuk Anda harus bertanggung jawab atas kekuatan struktur URL Anda bukan protokol HTTP itu sendiri.
Chris Kluis
5

Ini bukan kebijakan Google, itu adalah aturan dasar.

Dari sudut pandang pengguna windows, sulit untuk memahami nama file case-sensitive. Namun, di bawah sistem unix / linux, pAge dan halaman bukanlah file atau direktori yang sama, dan sebagainya pada server web.

Trailing slash adalah masalah konfigurasi (atau pilihan). Perlu diingat bahwa pada sebagian besar server web, server akan mengeluarkan pengalihan 30x di / halaman dua / halaman /, sehingga, membutuhkan permintaan kedua ke server Anda.

Anda dapat membuat case server web Anda tidak peka dan mengkonfigurasinya dengan cara apa pun yang Anda inginkan untuk mematuhi aturan Anda sendiri.

Tetapi sekali lagi, itu tidak terkait dengan Google sama sekali

jflaflamme
sumber