127.0.0.1
《计算机网络第七版》对127开头的地址进行了解释:这是一个A类地址中不可被指派的地址段,范围为127.0.0.1——127.255.255.254,保留作为本地软件环回测试本主机的进程之间的通信只用,若主机发送一个目的地址为环回地址的IP数据报,则本机中的协议软件就会处理数据报中的数据,而不会把数据报发送到任何网络。
根据课本中的解释可以知道,如果使用环回地址中的某一个(一般是127.0.0.1)作为服务启动IP的话,只有本机的进程能够访问,且如果本机协议簇没有问题,就一定能够访问到。
localhost
localhost不是一个ip地址,是一个域名。默认情况下本地的DNS协议会将localhost解析为127.0.0.1,所以在一般情况下,使用localhost和127.0.0.1区别不是很大,其中localhost只是多了一次解析而已。但是localhost所对应的IP地址是可以更改的,在windows中,可以在C:\Windows\System32\drivers\etc下找到hosts文件,修改其对应的IP地址,在linux中,可以在/etc下的host文件中修改对应IP。
0.0.0.0
从课本中可以知道,全0地址的含义为在本网络上的本主机,只能作为源地址,不能作为目的地址。比如,当前主机地址为1.1.1.1,向远端的2.2.2.2地址的主机发送数据,使用1.1.1.1作为源地址发送和使用0.0.0.0作为源地址发送作用是一样的,因为在底层会将0.0.0.0解析成1.1.1.1。需要注意的是,全0地址不能作为目的地址,也就是服务器是不能使用这个地址启动的,因为访问一个全0地址等于自己访问自己,当然这肯定是不正确的。