Điểm:2

Có phải tất cả các miền về mặt kỹ thuật đều kết thúc bằng "."?

lá cờ ao
abc

Tôi hiểu rằng TLD là tên miền phụ của tên miền gốc được biểu thị bằng ".".

Vì vậy, "google.com" theo thuật ngữ cụ thể hơn phải là "google.com.".

Trong trường hợp nào bạn sẽ thấy miền kết thúc bằng dấu "." như "google.com."? Tôi đã nhìn thấy nó trước đây nhưng không nghĩ gì về nó vào thời điểm đó.

Điểm:2
lá cờ cn

Có phải tất cả các miền về mặt kỹ thuật đều kết thúc bằng "."?

Có, nếu bạn nhìn vào các RFC cốt lõi liên quan đến DNS, bởi vì bất kỳ tên nào ở đó đều được truyền với một byte kết thúc có giá trị 0 mã hóa gốc, hay còn gọi là dấu chấm kết thúc ở định dạng "bản trình bày".

Xem phần 3.1.5 của RFC 1035:

NAME một tên miền được biểu diễn dưới dạng một chuỗi các nhãn, trong đó mỗi nhãn bao gồm một octet độ dài theo sau bởi số octet. Tên miền kết thúc bằng octet độ dài bằng 0 cho nhãn null của gốc.

Đó cũng là lý do tại sao khi sử dụng đào hoặc viết các tệp vùng, bạn sẽ thấy các tên kết thúc bằng dấu chấm cuối cùng để loại bỏ bất kỳ sự mơ hồ nào.

Bây giờ, tất cả phụ thuộc vào bối cảnh. Trong các URL, bạn viết tên máy chủ không có dấu chấm ở cuối và nó hoạt động vì ngụ ý rằng chúng là tuyệt đối.

Bạn có thể muốn tham khảo ý kiến RFC 8499 hiện là tài liệu tham khảo tiêu chuẩn cho mọi thứ liên quan đến thuật ngữ DNS. Nó nói thế này:

      Định dạng trình bày tên trong DNS toàn cầu là một danh sách
     các nhãn được sắp xếp theo khoảng cách giảm dần từ gốc, được mã hóa
     dưới dạng ASCII, với dấu "." ký tự giữa mỗi nhãn. Trong
     định dạng trình bày, một tên miền đủ điều kiện bao gồm
     nhãn gốc và dấu phân cách liên quan. Ví dụ, trong
     định dạng trình bày, một tên miền đủ điều kiện với hai
     nhãn không phải gốc luôn được hiển thị là "example.tld." thay vì
     "ví dụ.tld". [RFC1035] định nghĩa phương thức hiển thị octet
     không hiển thị trong ASCII.

     Định dạng hiển thị phổ biến được sử dụng trong các ứng dụng và miễn phí
     chữ. Nó giống như định dạng trình bày, nhưng hiển thị
     nhãn gốc và dấu "." trước khi nó là tùy chọn và hiếm khi
     xong. Ví dụ: ở định dạng hiển thị phổ biến, đủ điều kiện
     tên miền có hai nhãn không phải gốc thường được hiển thị dưới dạng
     "example.tld" thay vì "example.tld.". Tên chung
     định dạng hiển thị thường được viết sao cho
     tính định hướng của hệ thống chữ viết trình bày các nhãn bằng
     giảm khoảng cách từ gốc (vì vậy, trong cả tiếng Anh và tiếng Anh
     Ngôn ngữ lập trình C nhãn tên miền gốc hoặc tên miền cấp cao nhất (TLD)
     trong danh sách có thứ tự là ngoài cùng bên phải; nhưng trong tiếng Ả Rập, nó có thể là
     ngoài cùng bên trái, tùy thuộc vào quy ước địa phương).

Và sau đó, FQDN được định nghĩa và đi vào chi tiết về vấn đề thực sự liên quan đến ngữ cảnh:

 Tên miền đủ điều kiện (FQDN): Đây thường chỉ là một cách rõ ràng
  nói điều tương tự như "tên miền của một nút", như đã nêu
  ở trên. Tuy nhiên, thuật ngữ này là mơ hồ. Nói đúng ra, một
  tên miền đủ điều kiện sẽ bao gồm mọi nhãn, kể cả
  nhãn có độ dài bằng 0 của gốc: tên như vậy sẽ được viết
  "www.example.net." (lưu ý dấu chấm kết thúc). Nhưng, bởi vì mỗi
  tên cuối cùng chia sẻ gốc chung, tên thường được viết
  liên quan đến thư mục gốc (chẳng hạn như "www.example.net") và vẫn
  được gọi là "đủ điều kiện". Thuật ngữ này lần đầu tiên xuất hiện trong [RFC819].
  Trong tài liệu này, tên thường được viết liên quan đến gốc.

  Nhu cầu về thuật ngữ "tên miền đủ điều kiện" xuất phát từ
  sự tồn tại của các tên miền đủ điều kiện một phần, đó là những tên
  trong đó một hoặc nhiều nhãn cuối cùng trong danh sách được sắp xếp
  bị bỏ qua (ví dụ: tên miền "www" so với
  "example.net" xác định "www.example.net"). Tên tương đối như vậy
  chỉ được hiểu theo ngữ cảnh.

Đối với:

Trong trường hợp nào bạn sẽ thấy miền kết thúc bằng dấu "." như "google.com."?

Dễ dàng, thực hiện bất kỳ truy vấn DNS nào:

$ đào NS google.com +noall +ans
google.com. 3h9m51s TRONG NS ns4.google.com.
google.com. 3h9m51s VÀO NS ns2.google.com.
google.com.    3h9m51s TRONG NS ns3.google.com.
google.com. 3h9m51s TRONG NS ns1.google.com.

Lưu ý rằng kết quả sẽ hoàn toàn giống nhau nếu tôi sử dụng google.com. bởi vì đào là một máy khách DNS và do đó mong đợi tất cả các tên là tuyệt đối (do đó, dấu chấm kết thúc là tùy chọn).

Bạn cũng có thể thêm dấu chấm vào bất kỳ tên nào và do đó có các URL như https://www.google.com/. Đối với mặt phẳng DNS, nó sẽ giống nhau. Đối với IP và TCP cũng vậy. Đối với TLS, nó phải giống như vậy, nếu không có lỗi trong quá trình triển khai. Ở cấp độ HTTP/HTTPS, một máy chủ phù hợp sẽ hoạt động nhưng lưu ý rằng bạn có thể gặp lỗi chỉ vì điều này (và do đó có một trang khác được hiển thị so với trang bình thường hoặc một lỗi).

Tương tự đối với địa chỉ email và mọi nơi khác mà bạn sử dụng tên.

Và nếu bạn đang đặt câu hỏi về mọi thứ, vâng, theo định nghĩa, chỉ có một gốc... ít nhất là trên lý thuyết (xem RFC 2826 "Nhận xét kỹ thuật của IAB về gốc DNS duy nhất"). Mọi mạng (từ một ngôi nhà cục bộ cho đến cả trạng thái đầy đủ) đều có thể xác định một gốc cục bộ và các giao thức khác xác định tên dường như là gốc, nhưng không thực sự (ví dụ: đạo đức hoặc chút). Nhưng tại thời điểm này, bạn bước vào đấu trường chính trị chứ không phải đấu trường kỹ thuật nữa.

Điểm:2
lá cờ us

Có, tên miền đủ điều kiện kết thúc bằng dấu chấm. Và một tên miền luôn mang tính tương đối nếu nó không kết thúc bằng dấu chấm. Hệ điều hành, ứng dụng đang được sử dụng, một số proxy hoặc phần tử phân giải tên khác có thể cố gắng tìm kiếm tên liên quan đến một thứ khác ngoài thư mục gốc . miền. Tại văn phòng, có khả năng miền công ty được tìm kiếm trước thư mục gốc chẳng hạn.

Về lý thuyết, bạn có thể sử dụng các tên miền đủ điều kiện ở mọi nơi và có thể tiết kiệm Internet khỏi một vài lần truy cập DNS và vài mili giây cho chính bạn. Trong thực tế, thế giới có đầy đủ các biểu thức chính quy xác thực, v.v. có thể từ chối một FQDN (hoàn toàn hợp lệ) như vậy.

Một trường hợp cụ thể mà chúng rất phổ biến là khi định cấu hình máy chủ định danh, chẳng hạn như bản ghi CNAME. Một vùng trong máy chủ định danh thường có chính nó là "gốc tương đối" vì vậy để tham chiếu một tên miền bên ngoài nó phải được thực hiện với tên đủ điều kiện kết thúc bằng dấu chấm.

Patrick Mevzek avatar
lá cờ cn
"Và một tên miền luôn là tương đối nếu nó không kết thúc bằng dấu chấm.". Nó phụ thuộc vào bối cảnh. Trong các URL, tên không bao giờ có dấu chấm kết thúc, nhưng chúng cũng đủ tiêu chuẩn.
lá cờ us
@PatrickMevzek thực sự chúng không có khi được nhập vào trình duyệt như Chrome. Nếu tôi đặt http://www/ và cấu hình DNS của tôi có miền tìm kiếm là example.com thì Chrome sẽ vui vẻ tìm thấy www.example.com và mở trang.
Patrick Mevzek avatar
lá cờ cn
Đó là lý do tại sao tôi nói "nó phụ thuộc vào ngữ cảnh". Có trên cấu hình DNS CỦA BẠN, bất cứ điều gì có thể xảy ra. Đối với người khác, bất cứ điều gì khác cũng có thể xảy ra. Ngoài ra, hãy nhớ rằng các trình duyệt sử dụng DoH ngày càng nhiều, điều này bỏ qua mọi cài đặt ở cấp hệ điều hành về độ phân giải DNS.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.