Làm thế nào các URL có thể có một dấu chấm. ở cuối, ví dụ: www.bla.de.?


58

Tôi không bao giờ tin rằng URL có thể có một khoảng thời gian ở cuối, như trong www.google.de.(điều hiển nhiên là không hoạt động).

Tuy nhiên, www.youtu.be.đang hoạt động hoàn toàn tốt. Làm thế nào mà họ quản lý điều đó?


10
Các dấu vết. [dot] thực sự chính xác, nhưng các hệ thống đưa ra giả định cho bạn nói chung ở cấp độ DNS. Vì vậy, bất kỳ trang web .com thực sự sẽ là google.com. và về mặt lý thuyết, nó sẽ hoạt động, tuy nhiên, có thể trình duyệt sẽ không mong đợi điều này và không đóng gói yêu cầu chính xác hoặc nếu chúng thực hiện, thì DNS bạn đang sử dụng không hiểu chính xác. Điều bất thường là người dùng thực sự sử dụng dấu chấm và theo mặc định, người dùng không yêu cầu.
Closnoc

1
www.google.de.làm việc tốt cho tôi
Stephen Ostermiller

6
Đó là phép thuật DNS. .là TLD lớp phủ, sau đó bạn có gTLD :)
CodeAngry

2
Về mặt kỹ thuật, đây không phải là một URL mà là một tên máy chủ. Một dấu chấm bổ sung ở cuối URL ( http://example.com/path/file.so với http://example.com/path/file) có thể tạo ra sự khác biệt. Ví dụ: nếu đường dẫn chuyển thành một tệp và hệ điều hành và hệ thống tệp bên dưới sẽ phân biệt file.với file. Tôi đoán tôi không cần đề cập đến điều đó http://example.com/path/file?foo=bar.http://example.com/path/file?foo=barcũng rất khác nhau. url
Hagen von Eitzen

Cũng có thể máy chủ web không được cấu hình để chấp nhận các kết nối dành cho tên máy chủ đó. Khi các máy chủ web sử dụng lưu trữ ảo dựa trên tên xử lý một Hosttiêu đề từ một yêu cầu đến, không có gì đảm bảo rằng nó sẽ coi nó như .thể không có ở đó. Tôi vừa xác minh rằng với một trang web tôi đang chạy trên Amazon S3.
Brandon

Câu trả lời:


66

Từ đây

Đó là một thực tế ít được biết đến, nhưng tên miền DNS đủ điều kiện (không rõ ràng) có dấu chấm ở cuối. Những người chạy máy chủ DNS thường biết điều này (nếu bạn bỏ lỡ các dấu chấm ở ngoài, cấu hình DNS của bạn không có khả năng hoạt động) nhưng công chúng thường không làm như vậy. Một tên miền không có dấu chấm ở cuối không đủ điều kiện và có khả năng mơ hồ. Điều này đã được ghi lại trong đặc tả DNS, RFC 1034, từ năm 1987:

Vì một tên miền hoàn chỉnh kết thúc bằng nhãn gốc, điều này dẫn đến một hình thức in kết thúc bằng dấu chấm. Chúng tôi sử dụng tài sản này để phân biệt giữa:

  • một chuỗi ký tự đại diện cho một tên miền hoàn chỉnh (thường được gọi là "tuyệt đối"). Ví dụ: "poneria.ISI.EDU."

  • một chuỗi ký tự đại diện cho các nhãn bắt đầu của một tên miền không đầy đủ và phải được phần mềm cục bộ hoàn thành bằng kiến ​​thức về tên miền cục bộ (thường được gọi là "tương đối"). Ví dụ: "poneria" được sử dụng trong miền ISI.EDU.

Nguồn gốc của nội dung này tiếp tục giải thích điều này chi tiết hơn.


7
Không chỉ công chúng nói chung không biết điều này, mà tôi thường thấy các trình xác nhận email rõ ràng không cho phép một dấu chấm.
Kevin

3
@Kevin cũng vậy, cả RFC2822 và RFC5322 đều cấm một khoảng thời gian kéo dài. Họ định nghĩa phần miền là nguyên tử điểm, là một nguyên tử nữa (một nguyên tử là một hoặc nhiều ký tự từ một bảng chữ cái được đưa ra trong RFC) được phân tách bằng dấu chấm. Xem RFC5322 §3.4.1 và §3.2.3
derobert

50

Tên máy chủ không có dấu chấm có khả năng mơ hồ. Dấu chấm có nghĩa là tên máy chủ có đủ điều kiện và có thể không liên quan đến miền tìm kiếm cục bộ.

Hãy tưởng tượng bạn là sinh viên của trường đại học ví dụ (hư cấu) có tên miền cấp hai example.edu. Trong mạng lưới trường đại học, bạn có thể bỏ qua .example.eduhậu tố để dễ dàng và lười biếng. Vì vậy, nếu bạn muốn lướt đến www.example.eduvà ở trong khuôn viên trường, bạn chỉ cần lướt đến wwwvà nó hoạt động.

Bây giờ hãy tưởng tượng trường đại học có một viện nghiên cứu về trí tuệ nhân tạo ("AI") và trang web của họ được lưu trữ trên đó www.ai.example.edu. Nếu bạn đang ở trong khuôn viên trường, việc lướt web www.aisẽ đủ vì bạn có thể bỏ qua .example.eduhậu tố.

Càng xa càng tốt. Nhưng bây giờ bạn muốn lướt đến công ty "Dịch vụ thông tin ngoài khơi", nơi điều hành tên miền cấp cao nhất của Anguilla .ai. Trang web của họ có tại http://www.ai/ - nhưng nếu bạn nhập URL đó vào trình duyệt web của bạn khi đang ở trong khuôn viên trường, bạn sẽ truy cập vào trang web của viện về trí tuệ nhân tạo thay thế.

Vì vậy, bạn cần nói với trình duyệt web rằng bạn thực sự muốn truy cập trang web có tên miền cấp cao nhất .aichứ không phải đến trang web có tên miền phụ của trường đại học của bạn .ai.example.edu. Đó là nơi dấu chấm quan trọng, bởi vì http://www.ai./ sẽ luôn hoạt động độc lập với miền tìm kiếm DNS cục bộ.

Tương tự với các dấu chấm giữa các cấp miền khác nhau, dấu chấm cuối cùng đại diện cho gốc của DNS, nghĩa là từ trước dấu chấm đó là miền cấp cao nhất và không có miền nào liên quan đến miền tìm kiếm.


7
Nó không phải là trình duyệt làm điều đó, nó là trình phân giải DNS. Trình phân giải DNS trên máy tính của tôi được đặt để sử dụng tên miền làm "miền tìm kiếm" gây ra hành vi này. Đây là cài đặt hệ điều hành, không phải cài đặt trình duyệt.
Stephen Ostermiller

3
Thật không may cho các sinh viên của Đại học Ví dụ, thêm dấu vết. thường gây nhầm lẫn các cấu hình vhosting khác nhau và nó sẽ ngừng hoạt động đối với bất kỳ liên kết tuyệt đối nào (mà rất nhiều trang web cũng sử dụng).
lông mịn

1
@fluffy: Tất nhiên, nếu máy chủ web sử dụng cấu hình máy chủ ảo, những tên máy chủ rút ngắn đó cũng phải được liệt kê trong cấu hình vhost.
Axel Beckert

1
@kinokijuf: Tôi coi hành vi đó là một lỗi. Trình duyệt chưa quyết định liệu tôi có muốn sử dụng tính năng tìm kiếm tên miền của trình phân giải DNS của mình hay không.
Axel Beckert

1
@XTaran Yep, nhưng liệu trang web www.ai.example.edu có vhost được cấu hình đúng hay không, độ phân giải DNS vẫn sẽ tăng lên nếu www.aicó liên kết tuyệt đối http://www.ai/somethingvà nếu www.aihttpd của máy chủ không hiểu www.ai.là máy chủ được định cấu hình vì một số lý do, bạn vẫn không thể duyệt nó http://www.ai./.
lông mịn

-5

Tôi nghĩ rằng câu trả lời là hầu hết các công cụ Internet chỉ bỏ .hoặc coi nó là thông tin đường dẫn bổ sung .

Lưu ý rằng đây là một ảo ảnh rất khó khăn. youtu.bekhông phải là youtube.be. Không chắc chắn, nhưng điều này có thể là lạm dụng.


3
youtu.belà một tên miền của youtube. Nó được sử dụng cho các liên kết ngắn hơn, ví dụ như khi chia sẻ hoặc nhúng video.
kapex

lưu ý với @CareyB: điều đó có thể ổn, vì 'youtu.be' là trình rút ngắn URL không còn được giới thiệu gần đây của youtube cho video youtube; chỉ bật ID của video (ví dụ: đối với video [hmm, bởi một người dường như KHÔNG hiểu CC-BY-SA] về cách đặt tên FQDN đề cập rằng tên miền gốc là một chuỗi trống và do đó để lại một dấu chấm ở cuối , được đặt tại youtube.com/watch?v=qHAb3Foa1Nw, bạn có thể sử dụng youtu.be/qHAb3Foa1Nw
Shelleybutoston

12
-1; không chính xác và sự khác biệt youtu.be/youtube.be không liên quan gì đến vấn đề này cả.
lông mịn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.