Bagaimana URL dapat memiliki titik. pada akhirnya, misalnya www.bla.de.?

58

Saya tidak pernah percaya URL bisa memiliki periode di akhir, seperti pada www.google.de.(yang jelas tidak berfungsi).

Namun, www.youtu.be.berfungsi dengan baik. Bagaimana mereka mengaturnya?

Michael
sumber
10
Trailing. [dot] sebenarnya benar, tetapi sistem membuat asumsi untuk Anda secara umum di tingkat DNS. Jadi situs .com mana pun sebenarnya adalah google.com. dan ini dalam teori seharusnya berfungsi, mungkin saja browser tidak akan mengharapkan ini dan gagal mengemas permintaan dengan benar atau jika mereka melakukannya, maka DNS yang Anda gunakan tidak memahaminya dengan benar. Tidak biasa bahwa pengguna benar-benar menggunakan titik dan secara default tidak diperlukan oleh pengguna.
closetnoc
1
www.google.de.bekerja dengan baik untuk saya.
Stephen Ostermiller
6
Ini sihir DNS. .adalah TLD tuan, maka Anda memiliki gTLD :)
CodeAngry
2
Secara teknis, ini bukan URL tetapi nama host. Titik tambahan di akhir URL ( http://example.com/path/file.vs. http://example.com/path/file) dapat membuat perbedaan. Sebagai contoh, jika path diterjemahkan ke file dan OS yang mendasari dan sistem file membedakan file.dari file. Saya kira saya tidak perlu menyebutkan itu http://example.com/path/file?foo=bar.dan http://example.com/path/file?foo=barjuga sangat berbeda. urls
Hagen von Eitzen
Mungkin juga server web tidak dikonfigurasikan untuk menerima koneksi yang ditujukan untuk nama host itu. Ketika server web menggunakan hosting virtual berbasis nama memproses Hostheader dari permintaan yang masuk, tidak ada jaminan bahwa itu akan memperlakukannya seolah-olah .itu tidak ada. Saya baru saja memverifikasi bahwa dengan situs yang saya jalankan di Amazon S3.
Brandon

Jawaban:

66

Dari sini

Itu adalah fakta yang sedikit diketahui, tetapi nama domain DNS yang memenuhi syarat (tidak ambigu) memiliki titik di bagian akhir. Orang-orang yang menjalankan server DNS biasanya mengetahui hal ini (jika Anda melewatkan titik akhir, konfigurasi DNS Anda tidak akan berfungsi) tetapi masyarakat umum biasanya tidak. Nama domain yang tidak memiliki titik pada akhirnya tidak memenuhi syarat dan berpotensi ganda. Ini didokumentasikan dalam spesifikasi DNS, RFC 1034, pada tahun 1987:

Karena nama domain lengkap berakhir dengan label root, ini mengarah ke bentuk cetak yang berakhir dengan titik. Kami menggunakan properti ini untuk membedakan antara:

  • string karakter yang mewakili nama domain lengkap (sering disebut "absolut"). Misalnya, "poneria.ISI.EDU."

  • string karakter yang mewakili label awal nama domain yang tidak lengkap, dan harus dilengkapi oleh perangkat lunak lokal menggunakan pengetahuan tentang domain lokal (sering disebut "relatif"). Misalnya, "poneria" yang digunakan dalam domain ISI.EDU.

Sumber konten ini terus menjelaskan ini secara lebih rinci.

John Conde
sumber
7
Masyarakat umum tidak hanya tidak mengetahui hal ini, tetapi saya juga biasanya melihat validator email yang secara eksplisit melarang trailing dot.
Kevin
3
@Kevin juga seharusnya, RFC2822 dan RFC5322 melarang periode trailing. Mereka mendefinisikan bagian domain sebagai titik-atom, yang merupakan satu lagi atom (atom menjadi satu atau lebih karakter dari alfabet yang diberikan dalam RFC) yang dipisahkan oleh titik. Lihat RFC5322 §3.4.1 dan §3.2.3
derobert
50

Nama host tanpa titik jejak berpotensi ambigu. Tanda titik berarti bahwa nama host sepenuhnya memenuhi syarat dan mungkin tidak relatif terhadap domain pencarian lokal.

Bayangkan Anda adalah mahasiswa Universitas Contoh (fiktif) yang memiliki domain tingkat kedua example.edu. Di dalam jaringan kampus universitas Anda dapat menghilangkan .example.edusufiks untuk kemudahan dan kemalasan. Jadi jika Anda ingin berselancar www.example.edudan berada di kampus, Anda hanya perlu berselancar wwwdan berhasil.

Sekarang bayangkan universitas memiliki institut untuk kecerdasan buatan ("AI") dan situs web mereka dihosting di www.ai.example.edu. Jika Anda berada di kampus, berselancar ke www.aiakan cukup karena Anda dapat menghilangkan .example.edusufiks.

Sejauh ini bagus. Tetapi sekarang Anda ingin berselancar ke perusahaan "Offshore Information Services", yang menjalankan domain tingkat atas Anguilla .ai. Situs web mereka ada di http://www.ai/ - tetapi jika Anda memasukkan URL itu ke dalam peramban web saat berada di kampus, Anda akan mendarat di situs web institut untuk kecerdasan buatan.

Jadi, Anda perlu memberi tahu peramban web bahwa Anda benar-benar ingin pergi ke situs web dengan domain tingkat atas .aidan bukan ke situs web dengan subdomain universitas Anda .ai.example.edu. Di situlah titik itu penting, karena http://www.ai./ akan selalu bekerja terlepas dari domain pencarian DNS lokal.

Analoguos ke titik-titik di antara berbagai tingkat domain, titik terakhir mewakili akar DNS, yaitu menyatakan bahwa kata sebelum titik itu adalah domain tingkat atas dan tidak ada domain yang relatif terhadap domain pencarian.

Axel Beckert
sumber
7
Bukan browser yang melakukan itu, itu adalah resolver DNS. Penyelesai DNS di komputer saya diatur untuk menggunakan nama domain sebagai "domain pencarian" yang menyebabkan perilaku ini. Ini adalah pengaturan sistem operasi, bukan pengaturan browser.
Stephen Ostermiller
3
Sayangnya untuk mahasiswa Universitas Contoh, menambahkan jejak. sering membingungkan berbagai konfigurasi vhosting, dan itu akan berhenti berfungsi untuk tautan absolut apa pun (yang juga digunakan banyak situs).
lembut
1
@fluffy: Ya, tentu saja, jika server web menggunakan konfigurasi virtual host, nama-nama host yang dipersingkat harus terdaftar dalam konfigurasi vhost juga.
Axel Beckert
1
@kinokijuf: Saya menganggap perilaku seperti itu sebagai bug. Peramban belum memutuskan apakah saya ingin menggunakan fitur domain pencarian dari resolver DNS saya atau tidak.
Axel Beckert
1
@XTaran Yap, tetapi apakah situs www.ai.example.edu memiliki vhosts yang dikonfigurasikan dengan benar atau tidak, resolusi DNS akan tetap kacau jika www.aimemiliki tautan absolut ke http://www.ai/something, dan jika www.aihttpd server tidak memahami www.ai.sebagai host terkonfigurasi untuk beberapa alasan, Anda masih tidak dapat menjelajahinya http://www.ai./juga.
lembut
-5

Saya pikir jawabannya adalah bahwa sebagian besar alat Internet hanya menjatuhkan .atau memperlakukannya sebagai informasi jalur tambahan .

Perhatikan bahwa ini adalah ilusi yang sangat rumit. youtu.betidak youtube.be. Tidak yakin, tapi ini mungkin penyalahgunaan.

CareyB
sumber
3
youtu.beadalah domain dari youtube. Ini digunakan untuk tautan yang lebih pendek misalnya saat berbagi atau menyematkan video.
kapex
catatan untuk @CareyB: mungkin tidak apa-apa, karena 'youtu.be' adalah penyingkat URL yang tidak lagi diperkenalkan YouTube untuk video youtube; cukup masukkan ID video (mis. untuk video [hmm, oleh seseorang yang tampaknya TIDAK mengerti CC-BY-SA] tentang penamaan FQDN yang menyebutkan bahwa domain root adalah string kosong, dan dengan demikian meninggalkan sebuah titik di akhir , terletak di youtube.com/watch?v=qHAb3Foa1Nw Anda dapat menggunakan youtu.be/qHAb3Foa1Nw
shelleybutterfly
12
-1; salah, dan perbedaan youtu.be/youtube.be sama sekali tidak ada hubungannya dengan masalah ini.
lembut