Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?

Mục lục:

Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?
Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?

Video: Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?

Video: Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?
Video: How to set up Sonos One wireless speaker - YouTube 2024, Tháng mười một
Anonim
Thông thường, chúng tôi chỉ cần nhập địa chỉ của trang web mà chúng tôi muốn xem, nhưng liệu máy chủ web có thực sự "biết" nếu chúng tôi đã sử dụng địa chỉ IP trực tiếp không? Bài đăng Hỏi & Đáp của người dùng siêu nhân hôm nay có câu trả lời cho câu hỏi của người đọc bị nhầm lẫn.
Thông thường, chúng tôi chỉ cần nhập địa chỉ của trang web mà chúng tôi muốn xem, nhưng liệu máy chủ web có thực sự "biết" nếu chúng tôi đã sử dụng địa chỉ IP trực tiếp không? Bài đăng Hỏi & Đáp của người dùng siêu nhân hôm nay có câu trả lời cho câu hỏi của người đọc bị nhầm lẫn.

Phiên Hỏi & Đáp hôm nay đến với chúng tôi theo lịch sự của SuperUser - một phân khu của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.

Ảnh lịch sự của Cory M. Grenier (Flickr).

Câu hỏi

Người đọc siêu người dùng Joseph A. muốn biết máy chủ web có thể biết liệu bạn có đang sử dụng quyền truy cập địa chỉ IP trực tiếp hay không:

Some web servers, when accessed using their IP address, return an error that direct IP address access is not allowed. I have been wondering for some time how this works.

Does a browser always resolve the IP address and connect to it? Direct IP address access is just skipping DNS altogether, right? How does a remote server even know that you skipped DNS?

Làm thế nào để máy chủ web biết nếu bạn đang sử dụng truy cập địa chỉ IP trực tiếp hay không?

Câu trả lời

Người đóng góp SuperUser iAdjunct có câu trả lời cho chúng tôi:

To answer your question of how it knows, it has to do with what your browser sends the web server. You are right that the system always resolves it to an IP address, but the browser sends the URL you attempted to access in the HTTP header.

Here is a sample header that I found online, modified to look as though you used Firefox on Windows and typed apple.com into the address bar:

Here is what the header would look like if you used its IP address:
Here is what the header would look like if you used its IP address:
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.
Both of these would be sent to the same IP address over a socket, but the browser tells the web server what it accessed. Why? Because web servers with the same IP address may host multiple websites and give different pages for each. It cannot distinguish who wants which page by IP address because they all have the same one, but it can distinguish them by the HTTP header.

Có cái gì để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.

Đề xuất: