为什么域名是要买的,自己不能创建吗?


我就根据我对这个问题的理解 。尽量通俗的回答一下吧 。
首先 。就是要理解为什么需要域名 。我觉得题主应该是明白这一点的吧 。就是为了方便人们记忆 。每个在使用的域名都对应一个唯一的ip 。网络可以通过对用户来说相对好记的域名找到对应的ip 。然后用相应的服务器中获取资源 。
那么就要说一下互联网怎么根据域名来找到相应的ip了 。这个过程叫做域名解析 。在这里就不得不提域名系统(DNS)了 。互联网中有很多的DNS服务器 。这些服务器里存的就是域名与ip之间的对应关系 。你电脑在连上网络之后 。还必须设置一个DNS服务器的ip地址 。这个默认是自动获取的 。当你在浏览器中输入一个域名(比如www.baidu.com)的时候 。系统会将你的请求发给你电脑上设置的DNS服务器上 。该DNS服务器会查看这个系统里有没有这个域名与对应的IP 。如果有的话 。那么好 。就直接找到了我们需要的ip地址 。接下来直接对对应ip的服务器请求资源就行了 。客户的体验就是在浏览器界面上显示百度首页 。如果那个DNS服务器上没有这个域名的信息呢 。它会根据域名的规则 。向其他的DNS服务器查询 。只要这个域名被注册了 。肯定是能查询到的 。
也就是说 。你花钱买域名 。实际上就是花钱把域名与你服务器的对应关系保存在互联网的DNS服务器中 。如果别人需要通过域名访问你的网站了 。可以通过互联网中的DNS服务器找到你的服务器 。访问你的网站 。
那么不买域名可不可以呢?当然可以 。不过是有一些前提条件的 。
1.如果你想让互联网中所有人都能通过域名访问你的网站(不考虑由于某些特殊原因被限制访问) 。那么原则上你必须买一个域名 。但是如果你能神不知鬼不觉地黑进一些关键的DNS服务器 。然后把你的域名信息写到这些服务器的数据库里 。那么你当然不用买域名 。不过 。。。
2.如果你只需要某个局域网内的用户可以通过域名访问你的网站 。你又跟这个局域网的网管比较熟 。那么在不违反规定的情况下 。你直接让网管把你的域名信息加到这个局域网的DNS服务器里也行 。不过如果用户电脑里的DNS服务器设置的不是这个局域网内的DNS服务器 。那基本上还是访问不了 。
3.这就要提到host这个概念了 。可以上网的操作系统里基本上都会有hosts文件 。里面存放的就是域名与ip的对应关系 。当你通过域名访问一个网站时 。操作系统先在hosts里找 。如果有这个域名呢 。那么直接就找到目标IP了 。都不用再通过DNS解析了 。这么说来 。每台电脑也都相当于一个小型的DNS服务器 。不过这服务器只能给这台电脑自己用 。如果你能够让你希望能访问你这网站的所有人 。都能在他们的网络设备中的hosts里加上你这个域名和ip 。那么也就没必要买域名了 。
目前我就想到上面这三种情况 。其实前两种某种程度上是类似的 。不考虑上面这三种情况 。你如果不买域名(不包括别人给你买、搞活动赠送什么的) 。而是自己设置一个域名 。别人没法通过你设置的域名找到你的服务器啊 。不知我说明白没有 。
【为什么域名是要买的,自己不能创建吗?】说句题外话 。第三个方法我一直在用 。当然 。我用这个方法不是因为域名好记 。而是要通过域名来区分一个服务器中不同的服务 。题主如果去百度的话 。可以查到一个域名只能对应一个ip(不考虑不同协议) 。而一个ip可以对应多个域名 。这就涉及反向代理之类的知识了 。点到为止 。

    推荐阅读