2011-08-04 42 views
13

Sự khác nhau giữa localhost và địa chỉ IP thực là gì?localhost vs địa chỉ ip thực

Nếu tôi truy cập vào một ứng dụng bằng cách sử dụng http://localhost:8080/index.htmlhttp://192.123.456.001:8080/index.html (ví dụ 192.123.456.001 là địa chỉ ip thực của máy chủ), sự khác biệt là gì?

+15

* 192.123.456.001 * không phải là địa chỉ IP thực :-) –

Trả lời

19

Khi bạn truy cập localhost, tệp /etc/hosts sẽ cho máy tính của bạn không nhìn xa hơn nữa và chuyển hướng bạn đến máy tính của riêng bạn. Khi bạn truy cập địa chỉ IP cục bộ, máy tính của bạn sẽ yêu cầu bộ định tuyến lấy dữ liệu và bộ định tuyến của bạn sẽ trỏ trở lại máy tính của bạn.

1

Từ Wikipedia, những điểm thích hợp:

Giao tiếp với giao diện loopback một cách giống hệt như với một máy tính trên mạng, nhưng bỏ qua các địa phương mạng phần cứng giao diện, rất hữu ích cho các mục đích phần mềm thử nghiệm.

Kết nối với các dịch vụ mạng được lưu trữ cục bộ, chẳng hạn như máy tính trò chơi máy chủ hoặc cho các liên lạc liên ngành khác, có thể được thực hiện thông qua các địa chỉ lặp lại một cách hiệu quả cao.

http://en.wikipedia.org/wiki/Localhost

+0

Mặc dù, sẽ thật tuyệt khi biết * cách thực hiện * đây là "một cách hiệu quả cao". là nó có hiệu quả cho các lập trình viên để không nghĩ về địa chỉ máy chủ? Có hiệu quả cho máy chủ không phải tra cứu địa chỉ ở đâu không? Cả hai? Tôi nghĩ đó là những gì mà poster ban đầu đang yêu cầu. – Skotte

+1

@Skotte mạng theo mô hình 7 lớp OSI, chạy loopback cho phép hệ điều hành tối ưu hóa mọi thứ bằng cách bỏ qua các lớp. Trên một hệ điều hành hiện đại và TCP/IP sự khác biệt nên được tối thiểu như chỉ đơn giản là tra cứu trong bảng định tuyến địa phương. –

0

Sự khác biệt là khi bạn thiết lập một ổ cắm nghe (chờ đợi một kết nối), bạn phải nói với nó mà địa chỉ để ràng buộc vào. Điều tương tự cũng áp dụng cho cấu hình trang web với tất cả các máy chủ web phổ biến.

Thông thường bạn sẽ chỉ liên kết với bất kỳ địa chỉ nào, có nghĩa là bạn có thể truy cập địa chỉ qua 127.0.0.1 hoặc 192.xxx hoặc bất kỳ địa chỉ IP nào khác mà máy có, nhưng đôi khi bạn có thể muốn liên kết với một địa chỉ cụ thể - ví dụ nếu bạn có 4 IP công cộng trên một máy, bạn có thể muốn có một trang web cụ thể trên một IP cụ thể.

3

Ngoài các câu trả lời khác, bạn có thể gặp sự cố bí ẩn khi sử dụng localhost.

Một ví dụ: IE trên Windows tạo lối tắt nếu bạn nhập http://localhost vào thanh URL. Điều đó sẽ trở thành vấn đề khi bạn đang phát triển một ứng dụng web và cài đặt proxy cục bộ (như Fiddler) để nhìn vào các thư đi qua giữa trang web của khách hàng và máy chủ đang chạy cục bộ - thư sẽ không bị bắt vì nó sẽ không đi qua proxy trong trường hợp này. Điều này khiến bạn hơi bất tiện khi tìm thấy các lỗi chỉ trong IE trong ứng dụng của mình ... ;-)

Các vấn đề liên quan