Saya menanyakan hal ini karena setiap kali saya mengarahkan tautan ke laman beranda (mis. http://www.example.com)
, Saya perhatikan bahwa tanda garis miring selalu ditambahkan (seperti yang diamati pada bilah status browser) apakah tautan beranda tersebut berisi atribut href yang diakhiri dengan garis miring atau tidak, tetapi setiap kali saya berada di beranda, URL yang dipajang tidak akan memiliki garis miring.
Saya mencoba memasukkan garis miring ke URL di bilah URL. Dan dengan Firebug diaktifkan, saya perhatikan bahwa situs selalu mengembalikan status 200 OK. Sebuah artikel di sini membahas ini menyatakan bahwa memiliki garis miring pada akhirnya akan menghindari pengalihan 301. Tapi saya tidak melihat pengalihan, bahkan di halaman ini .
Mungkinkah ini fitur browser yang menambahkan slash?
?
di URL) yang merupakan IMO konyol.Jawaban:
Ya, semua browser utama "menambahkan garis miring" ke permintaan HTTP saat meminta URL domain kosong (mis. Beranda). Ini sebenarnya diperlukan untuk membuat permintaan HTTP valid, yang untuk
http://example.com/
:Perhatikan
/
(garis miring) di baris pertama - ini adalah URL yang diminta. Tidak valid untuk tidak memiliki apa pun di sini. Dari RFC 2616 :Anda perlu melihat permintaan HTTP yang dibuat browser ke server. URL yang ditampilkan di "bilah status browser", atau bahkan URL di bilah alamat bisa berbeda - lebih ramah pengguna. Google Chrome tidak menambahkan garis miring di bilah status, meskipun garis miring ada dalam permintaan.
Tidak ada redirect 301 terjadi jika Anda menentukan
http://example.com
(tidak ada garis miring) karena browser mengoreksi permintaan HTTP sebelum dibuat.Perhatikan bahwa ini berbeda dengan garis miring yang ditambahkan ke akhir URL ketika ada jalur / direktori. misalnya.
http://example.com/directory/
. Artikel yang Anda tautkan tampaknya memperlakukan keduanya sama dan tampaknya bukan IMO yang sepenuhnya benar. Jika Anda memintahttp://example.com/directory
(tanpa garis miring) maka browser tidak menambahkan garis miring dan ya, sebagian besar server akan diarahkan kehttp://example.com/directory/
(garis miring) - tetapi ini tergantung pada server; itu bisa pecah! Di Apache, misalnya, ini tergantung padaDirectorySlash
arahan yang ditetapkanon
.sumber
example.com
atauexample.com/
keduanya memerlukan permintaan yang sama persis ke server.