Jak adresy URL mogą mieć kropkę? na końcu, np. www.bla.de.?

58

Nigdy nie wierzyłem, że adresy URL mogą mieć kropkę na końcu, jak w www.google.de.(co oczywiście nie działa).

Działa jednak www.youtu.be.doskonale. Jak sobie z tym poradzili?

Michael
źródło
10
Końcowe. [kropka] jest właściwie poprawna, ale systemy przyjmują to założenie zasadniczo na poziomie DNS. Tak więc każda witryna .com byłaby w rzeczywistości google.com. i to teoretycznie powinno działać, jednak może się zdarzyć, że przeglądarka nie będzie się tego spodziewać i nie spakuje poprawnie żądania, a jeśli tak, to DNS, którego używasz, nie rozumie go poprawnie. To niezwykłe, że użytkownik faktycznie używa kropki i domyślnie nie jest to wymagane przez użytkownika.
closetnoc,
1
www.google.de.działa dobrze dla mnie.
Stephen Ostermiller
6
To magia DNS. .jest TLD
mrocznego
2
Technicznie nie jest to adres URL, ale nazwa hosta. Dodatkowa kropka na końcu adresu URL ( http://example.com/path/file.vs. http://example.com/path/file) może mieć znaczenie. Na przykład, jeśli ścieżka do pliku tłumaczy i podstawowa OS i system plików odróżnia file.od file. Chyba nie muszę o tym wspominać, http://example.com/path/file?foo=bar.a http://example.com/path/file?foo=bartakże bardzo się różnią. adresy URL
Hagen von Eitzen
Możliwe jest również, że serwer WWW nie jest skonfigurowany do przyjmowania połączeń przeznaczonych dla tej nazwy hosta. Gdy serwery sieciowe korzystające z wirtualnego hostingu opartego na nazwie przetwarzają Hostnagłówek z przychodzącego żądania, nie ma gwarancji, że potraktuje to tak, jakby .go tam nie było. Właśnie zweryfikowałem, że na stronie działam na Amazon S3.
Brandon

Odpowiedzi:

66

od tutaj

To mało znany fakt, ale w pełni kwalifikowane (jednoznaczne) nazwy domen DNS mają kropkę na końcu. Osoby korzystające z serwerów DNS zwykle to wiedzą (jeśli przegapisz kropki końcowe, konfiguracja DNS raczej nie zadziała), ale ogół społeczeństwa zwykle nie. Nazwa domeny, która nie ma kropki na końcu, nie jest w pełni kwalifikowana i może być niejednoznaczna. Zostało to udokumentowane w specyfikacji DNS, RFC 1034, w 1987 roku:

Ponieważ pełna nazwa domeny kończy się etykietą katalogu głównego, prowadzi to do formy drukowanej, która kończy się kropką. Używamy tej właściwości do rozróżnienia między:

  • ciąg znaków reprezentujący pełną nazwę domeny (często nazywaną „bezwzględną”). Na przykład „poneria.ISI.EDU”.

  • ciąg znaków reprezentujący początkowe etykiety nazwy domeny, który jest niekompletny i powinien zostać uzupełniony przez lokalne oprogramowanie z wykorzystaniem wiedzy o lokalnej domenie (często nazywane „względnym”). Na przykład „poneria” używany w domenie ISI.EDU.

Źródło tej treści nadal wyjaśnia to bardziej szczegółowo.

John Conde
źródło
7
Opinia publiczna nie tylko tego nie wie, ale często widzę weryfikatory wiadomości e-mail, które wyraźnie nie zezwalają na kropkę.
Kevin
3
@ Kevin, podobnie jak powinien, zarówno RFC2822, jak i RFC5322 zabraniają kończenia okresu. Definiują część domeny jako atom kropkowy, który jest jeszcze jednym atomem (atom jest jednym lub więcej znaków z alfabetu podanego w RFC) oddzielonych kropkami. Patrz RFC5322, §3.4.1 i §3.2.3
derobert,
50

Nazwy hostów bez kropki są potencjalnie dwuznaczne. Końcowa kropka oznacza, że ​​nazwa hosta jest w pełni kwalifikowana i może nie być względna w stosunku do lokalnej domeny wyszukiwania.

Wyobraź sobie, że jesteś studentem (fikcyjnego) Uniwersytetu Przykładowego, który ma domenę drugiego poziomu example.edu. W obrębie sieci kampusów uniwersyteckich można pominąć .example.eduprzyrostek dla wygody i lenistwa. Więc jeśli chcesz surfować www.example.eduna terenie kampusu, musisz po prostu surfować wwwi działa.

Teraz wyobraź sobie, że uniwersytet ma instytut sztucznej inteligencji („AI”), a ich strona internetowa jest hostowana www.ai.example.edu. Jeśli jesteś w kampusie, www.aiwystarczy surfować , ponieważ możesz pominąć .example.eduprzyrostek.

Na razie w porządku. Ale teraz chcesz surfować w firmie „Offshore Information Services”, która zarządza domeną najwyższego poziomu Anguilli .ai. Ich strona internetowa znajduje się pod adresem http://www.ai/ - ale jeśli wpiszesz ten adres URL do przeglądarki podczas pobytu w kampusie, trafisz na stronę internetową instytutu sztucznej inteligencji.

Musisz więc powiedzieć przeglądarce, że naprawdę chcesz przejść do witryny z domeną najwyższego poziomu, .aia nie do domeny z subdomeną twojego uniwersytetu .ai.example.edu. Właśnie tam kropka jest ważna, ponieważ http://www.ai./ zawsze będzie działać niezależnie od lokalnej domeny wyszukiwania DNS.

Analogicznie do kropek między różnymi poziomami domen, ostatnia kropka reprezentuje katalog główny DNS, tzn. Oznacza, że ​​słowo przed tą kropką jest domeną najwyższego poziomu i nie ma domeny względem domeny wyszukiwania.

Axel Beckert
źródło
7
To nie przeglądarka to robi, to DNS resolver. Program rozpoznawania nazw DNS na moim komputerze jest skonfigurowany do używania nazwy domeny jako „domeny wyszukiwania”, która powoduje takie zachowanie. Jest to ustawienie systemu operacyjnego, a nie ustawienie przeglądarki.
Stephen Ostermiller
3
Niestety dla studentów z przykładowego uniwersytetu, dodanie końcowego. często myli różne konfiguracje vhostingu i przestaje działać dla jakichkolwiek linków bezwzględnych (z których również korzysta wiele stron).
puszysty
1
@fluffy: Tak, oczywiście, jeśli serwer WWW korzysta z konfiguracji hosta wirtualnego, te skrócone nazwy hostów również muszą być wymienione w konfiguracji vhost.
Axel Beckert,
1
@kinokijuf: Uważam takie zachowanie za błąd. Przeglądarka nie zdecydowała, czy chcę skorzystać z funkcji searchdomain mojego resolvera DNS, czy nie.
Axel Beckert,
1
@XTaran Tak, ale bez względu na to, czy witryna www.ai.example.edu ma poprawnie skonfigurowane hosty vhost, czy rozdzielczość DNS nadal się psuje, jeśli www.aima link bezwzględny http://www.ai/somethingi jeśli www.aihttpd serwera nie rozumie www.ai.jako skonfigurowanego hosta z jakiegoś powodu nadal nie możesz go przeglądać jako http://www.ai./jednego z nich.
puszysty
-5

Myślę, że odpowiedź brzmi: większość narzędzi internetowych po prostu upuszcza je .lub traktuje jako dodatkową informację o ścieżce .

Zauważ, że jest to bardzo trudna iluzja. youtu.benie jest youtube.be. Nie jestem pewien, ale może to być nadużycie.

CareyB
źródło
3
youtu.bejest domeną youtube. Służy do krótszych linków, na przykład podczas udostępniania lub osadzania filmów.
kapex
uwaga do @CareyB: prawdopodobnie jest to w porządku, ponieważ „youtu.be” jest już niedawno wprowadzonym skracaczem URL do filmów na youtube; po prostu wpisz identyfikator filmu (np. dla filmu [hmm, przez kogoś, kto najwyraźniej NIE rozumie CC-BY-SA]) o nazwie FQDN, wspominając, że domena główna jest pustym ciągiem, a zatem pozostawia kropkę na końcu położony w youtube.com/watch?v=qHAb3Foa1Nw można użyć youtu.be/qHAb3Foa1Nw
shelleybutterfly
12
-1; niepoprawne, a rozróżnienie youtu.be/youtube.be w ogóle nie ma nic wspólnego z tym problemem.
puszysty