Pertanyaan URL Relatif dan garis miring tambahan


Saya sudah melihat-lihat web untuk ini sebelumnya, dan saya kira jawabannya adalah "Anda tidak bisa", tetapi karena saya belum menemukan jawaban yang pasti itu, saya pikir itu patut ditanyakan di sini. Yang paling dekat saya temukan menyentuh pada masalah ini Misteri garis miring dan url relatif (yang saat ini sedang down, tetapi Google telah versi singgahan hanya teks).

Karena desain tradisional URL dengan garis miring diinterpretasi sebagai direktori dan mereka tanpa garis miring diinterpretasi sebagai sumber daya file, dan URL relatif bekerja di luar direktori, maka jika halaman saat ini memiliki jalur

/lorem/ipsum/dolor

jalur relatif

not-dolor

akan memutuskan sebagai

/lorem/ipsum/not-dolor

yang secara alami masuk akal, kapan /lorem/ipsum/dolor dipandang sebagai sumber daya file, dolor, duduk di sebuah direktori, /lorem/ipsum/; konvensi tipikal dan intuitif. Namun, karena sejumlah besar situs web kini adalah aplikasi dinamis tanpa pemetaan filesystem untuk setiap URL, ini dapat menyebabkan sakit kepala, karena terkadang Anda benar-benar ingin bekerja relatif terhadap jalur seolah-olah, dalam desain saat ini, ada garis miring di belakang.

Adakah cara yang wajar ("tidak melibatkan pemrosesan / variabel sisi server / lainnya, atau JavaScript") menggunakan jalur relatif berdasarkan jalur saat ini, dan tidak "direktori" dari jalan saat ini? Maka not-dolor bisa relatif terhadap /lorem/ipsum/dolor dan menghasilkan

/lorem/ipsum/dolor/not-dolor

Tidak ada solusi yang saya tahu melibatkan sesuatu seperti ./not-dolor, sejak . masih (/lorem/)ipsum/. Singkat mengarahkan ke garis miring dan memastikan bahwa semua sumber daya memiliki URL yang sesuai dengan direktori-ish dan sifat file-ish, atau memodifikasi spec (!), Apakah ada cara untuk mengatasi ini?


32
2018-03-28 10:48


asal


Jawaban:


Tidak.

Masalahnya tidak begitu banyak terkait dengan pemetaan sutradara / file (yang tidak pernah diharapkan seperti bagaimana pemetaan akan terjadi, hanya diizinkan sebagai pemetaan yang mudah, yang masih sering nyaman).

Itu lebih terkait dengan fakta sederhana itu dolor tidak sama dengan dolor/ dan Anda ingin memberikan URI baru dari referensi relatif dolor/ bila digabungkan menjadi satu berakhiran dolor.

Apa solusinya, adalah bertindak dengan /lorem/ipsum/dolor/ sepanjang waktu. Artinya, tidak pernah berbicara tentang /lorem/ipsum/dolor sama sekali, hanya tentang /lorem/ipsum/dolor/. Lagi pula, karena direktori / file pemetaan, seperti yang Anda katakan, bukan satu-satunya cara untuk melakukan sesuatu, tidak ada alasan mengapa nama-nama sumber daya Anda tidak harus selalu berakhir dengan garis miring.

Memang, ini mungkin lebih masuk akal, karena dalam menggunakan tautan relatif seperti itu Anda menyiratkan bahwa ada semacam hubungan di antara keduanya /lorem/ipsum/dolor/not-dolor dan /lorem/ipsum/dolor. Sekarang, sebentar /lorem/ipsum/dolor/not-dolor mungkin tidak memiliki banyak hubungan /lorem/ipsum/dolor/, implikasi bahwa itu mungkin ada di URI (ya URI adalah buram, tetapi juga sementara mereka harus diperlakukan sebagai buram pada beberapa tingkatan, mereka diizinkan untuk mencerminkan hubungan, dan inilah tepatnya mengapa referensi URI relatif masuk akal). Boleh dibilang karena itu, /lorem/ipsum/dolor/lebih jelas mencerminkan keseluruhan pemetaan URI-ke-sumber daya Anda (jika tidak, Anda tidak akan ingin pergi dari dolor ke tidak-dolor pula).

Sekarang, ini mengarah ke pengalihan ke garis miring, yang Anda katakan Anda ingin hindari (atau lebih baik lagi, tidak pernah mengarahkan seseorang ke dolor di tempat pertama), tetapi keuntungannya sekarang tampaknya lebih baik daripada hanya kenyamanan URI relatif lebih mudah.


15
2018-03-28 11:02