IP类型
IP地址一共分为A~E5类,它们分类的依据是其net-id所占的字节长度以及网络号前几位。node
- A类地址:网络号占1个字节。网络号的第一位固定为0。
- B类地址:网络号占2个字节。网络号的前两位固定为10。
- C类地址:网络号占3个字节。网络号的前三位固定位110。
- D类地址:前四位是1110,用于多播(multicast),即一对多通讯。
- E类地址:前四位是1111,保留为之后使用。
特殊地址
后端监听ip地址的三种主要的方式
- 监听到127.0.0.1
- 监听到0.0.0.0
- 监听到主机内网ip
监听127.0.0.1
- 本机经过127.0.0.1访问成功,网络接口为loopback
- 本机经过局域网IP 192.168.0.113访问失败,网络接口为loopback
- 同一局域网下的外部主句经过局域网IP 192.168.0.112访问失败,网络接口-et1
所以,在实际应用中,咱们在服务端监听ip地址的时候不要绑定到127.0.0.1,若是绑定到了127.0.0.1,会致使咱们的应用只能在本地127.0.0.1访问,其余人没法经过其余任何方式进行访问服务器
监听0.0.0.0
- 本机经过127.0.0.1访问成功,网络接口为loopback
- 本机经过局域网IP 192.168.0.113 访问成功,网络接口为loopback
- 同一局域网下的外部主句经过局域网IP 192.168.0.112访问成功,网络接口-et1
好比我有一台服务器,一个外网A,一个内网B,若是我绑定的端口指定了0.0.0.0,那么经过内网地址或外网地址均可以访问个人应用。网络
监听主机内网ip 192.168.0.113
- 本机经过127.0.0.1访问失败,网络接口为loopback
- 本机经过局域网IP 192.168.0.113 访问成功,网络接口为loopback
- 同一局域网下的外部主句经过局域网IP 192.168.0.112访问成功,网络接口-et1
总结
- 在实际应用中,最好的监听ip地址方式为:监听到0.0.0.0,nodejs demo以下:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World');
}).listen(5500, '0.0.0.0');
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World');
}).listen(5500);