Làm thế nào là một tên miền phụ được truyền đến máy chủ web?


12

Tôi biết rằng dns phân giải một địa chỉ như example.com thành một địa chỉ IP như 11,22.33.44, nhưng tôi hơi bối rối về cách các tên miền phụ được giải quyết, để khi bạn nhập http://subdomain.example.com , thực sự là gì được chuyển đến máy chủ lúc 11,22.33.44? Nói cách khác, example.com = 11,22.33.44, nhưng tên miền phụ.example.com / path = ???

Là "tên miền phụ" và "đường dẫn" được truyền dưới dạng tiêu đề http, hoặc được ánh xạ trong url theo một cách nào đó, hoặc là gì?

Cảm ơn trước.

Chỉnh sửa: Nếu tôi hiểu chính xác, BloodPhilia nói rằng tên miền phụ.example.com thực sự là một miền khác về nguyên tắc có thể phân giải thành một IP hoàn toàn khác. Nhưng nếu đó là như vậy, thì những gì về các máy chủ có số lượng lớn các tên miền phụ (trông giống như), nhưng thực sự ánh xạ tới một số đường dẫn trên trang web. Chẳng hạn, blogspot lưu trữ hàng triệu blog và tất cả đều giống như thế này:

aaa.blogspot.com
bbb.blogspot.com
...millions more...
yyy.blogspot.com
zzz.blogspot.com

Đó rõ ràng không phải là tên miền phụ với IP của chính họ, mà là một số ánh xạ như aaa.blogspot.com -> www.blogspot.com/aaa, nhưng điều này được thực hiện như thế nào? Điều gì thực sự được chuyển đến máy chủ web tại blogspot.com?

Câu trả lời:


18

Tên miền, tên miền phụ, tên miền phụ và tên miền phụ (x) -sub (đã tạo hai tên miền cuối cùng!), Được DNS xử lý chính xác theo cách tương tự với người dùng cuối và máy chủ web.

Ví dụ: máy chủ DNS có thể trả về các kết quả khác nhau cho domain.com, www.domain.comhoặc mysite.domain.com.

Bây giờ, như bạn có thể biết, có nhiều tên miền hơn IP trên thế giới.

Do đó, các máy chủ sử dụng một cái gì đó gọi là "Tiêu đề máy chủ" để phục vụ nội dung chính xác.

Không quan trọng bạn thực sự yêu cầu gì, máy của bạn xử lý mọi thứ như nhau - nó sẽ tìm trên DNS loại IP nào nó nên kết nối và sau khi được kết nối, nó sẽ gửi tiêu đề máy chủ như một phần của yêu cầu. Sau đó, máy chủ web sẽ gửi lại nội dung đã được cấu hình để gửi lại.

Một công cụ tốt để kiểm tra / học tập / chẩn đoán là Wfetch, nó có thể được tải xuống ở đây .

Dưới đây là một ví dụ về các tiêu đề được gửi trong khi truy cập superuser.com

văn bản thay thế

Đây là cấu hình cho các tiêu đề máy chủ trong IIS (máy chủ web):

văn bản thay thế

(Ảnh từ đây )

Nếu bạn quan tâm, Serverfault.com và Superuser.com nằm trên cùng một IP và đây là kỹ thuật được sử dụng để phân tách các trang web và phục vụ các nội dung khác nhau.

Để đọc thêm về chủ đề này, bạn có thể muốn đọc bài viết Wikipedia về Virtual Hosting .

(Tôi biết bạn hiểu những điều cơ bản, nhưng tôi nghĩ sẽ tốt hơn nếu nói thêm một chút để bất kỳ ai Google Google có thể học được một chút nếu họ muốn!)

Biên tập

Vì vậy, theo ví dụ của bạn, tôi đoán rằng ai đó lớn như blogspot rất có thể có mục DNS ký tự đại diện (Mục nhập ký tự đại diện trả về kết quả tương tự cho bất kỳ truy vấn nào) trỏ đến bộ cân bằng tải, sau đó bộ cân bằng tải sẽ gửi nó ra đối với nhiều máy chủ web khác nhau, những người có thể không có một trang web riêng cho mỗi tiêu đề máy chủ, nhưng thay vào đó, một trang web / tập lệnh mà địa chỉ đã nhập (tiêu đề máy chủ hoặc không) được phân tích cú pháp và sau đó lấy nội dung chính xác từ CDN của họ.

Mặc dù, cũng có thể (nhưng không chắc) rằng họ chỉ cần có vài nghìn mục trên mỗi ip, ip dẫn đến một vài máy chủ và họ chỉ đơn giản có một mục nhập cho mỗi trang web có tiêu đề máy chủ phù hợp.


1
Đẹp! Lưu ý bên lề: việc hai trang web chia sẻ một địa chỉ IP không nhất thiết có nghĩa là chúng luôn được lưu trữ trên cùng một máy. Một bộ cân bằng tải trên thực tế cũng có thể nhìn trộm vào các tiêu đề này và ủy thác cho các máy khác nhau. (Đối với Super User và cộng sự cũng xem Trung tâm dữ liệu New York của Stack Overflow , nơi tôi không thực sự tự đọc mặc dù ...)
Arjan

@Arjan +1 điểm tốt ... Tôi đã đề cập đến bộ cân bằng tải, nhưng rõ ràng đó chỉ là IP của bộ cân bằng tải, và sau đó họ chia các yêu cầu cho nhiều máy chủ.
William Hilsum

1
Đánh dấu là câu trả lời cho các thông tin chi tiết và các liên kết để nghiên cứu thêm. Cảm ơn!
Joshua Frank

6

Thật vậy, nếu hai tên miền có cùng một địa chỉ IP, máy chủ sẽ dựa vào trình duyệt để chỉ định miền được yêu cầu. Giống như :

GET / HTTP/1.1
Host: data.stackexchange.com

3

Tên miền con không phải là từ đúng. Thông thường, một tên miền phụ là tên miền riêng, vì vậy sub.example.com được chuyển đến DNS trước, nếu không tìm thấy bản ghi cụ thể nào cho tên miền phụ này, yêu cầu được chuyển đến IP của tên miền hàng đầu. (example.com) Trên máy chủ đó, yêu cầu được thực hiện lại và máy chủ sẽ hành động tương ứng.

Nói cách khác, một yêu cầu đến example.com không thực sự khác với yêu cầu đối với sub.example.com.


Tôi nghĩ có lẽ tôi không hiểu điều gì quan trọng ở đây. Hãy để tôi chỉnh sửa và làm rõ câu hỏi của tôi. Cảm ơn.
Joshua Frank

Bạn đang nói rằng nếu sub.example.comkhông giải quyết, địa chỉ IP của example.comsẽ được sử dụng? Tôi nghĩ trình duyệt không làm điều đó. (Trừ khi có một số bản ghi DNS ký tự đại diện, nhưng sau đó tên miền phụ sẽ thực sự giải quyết, tôi nói vậy.)
Arjan

1

Subdomain.example.com không giải quyết đến 11,22.33.44 - vì mục đích câu hỏi của bạn, nó thường có bản ghi DNS A của riêng nó và phân giải đến một địa chỉ khác.

Có thể cho phép tên miền phụ phân giải cùng một địa chỉ với tên miền mẹ và vẫn phục vụ các trang khác nhau, nhưng nếu bạn phải lưu trữ cả hai trang web trên cùng một máy chủ và cần có tài khoản cho cấu hình máy chủ của bạn. Cách bạn tính đến điều này phụ thuộc vào loại máy chủ web bạn đang chạy.


1
Có phải bạn đang nói rằng, trong ví dụ blogspot của tôi, "xyz.blogspot.com" sẽ không có mục dns chuyên dụng, vì vậy dns sẽ tìm "blogspot.com" và tìm thấy nó tại 11,22.33.44. Nhưng nó sẽ gửi toàn bộ url "xyz.blogspot.com" dưới dạng trường máy chủ và tùy thuộc vào máy chủ để phân tích điều này và gửi trang xyz tới trình duyệt?
Joshua Frank

Vâng đúng vậy.
Joel Coehoorn

nslookup dummy.example.comnăng suất server can't find dummy.example.com- làm thế nào mà phù hợp với ở trên sau đó? (Như ví dụ trong nhận xét của @ Joshua?)
Arjan

xin lỗi, bạn vẫn cần một bản ghi A cho tên miền phụ của mình - chỉ là nó có thể cung cấp cùng một IP nếu bạn muốn.
Joel Coehoorn

Rồi tôi lại bối rối. Nếu có hàng triệu tên miền phụ xyz.blogspot.com, tất cả chúng không thể có bản ghi A, vậy việc định tuyến được thực hiện như thế nào? Và cấu hình bản ghi A là phía máy chủ. Tôi quan tâm đến việc khách hàng sẽ biết như thế nào, được cung cấp một url, cho dù xyz là tên miền phụ phù hợp hay thứ gì đó được ánh xạ phía máy chủ. Cụ thể, có bao giờ an toàn để lưu trữ IP trong một thời gian không, bởi vì bạn biết rằng x.domain.com và y.domain.com nằm trên cùng một máy chủ hoặc bạn có thể không bao giờ biết chỉ bằng cách nhìn vào url?
Joshua Frank
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.