域名的存在到底有什么[特殊]意义?

版权声明:本文为作者原创文章, 欢迎转载 : ) https://blog.csdn.net/github_38885296/article/details/86509113

在各大百科平台或者博客教程搜索'域名'是什么东西, 他们都会告诉你, 域名是ip地址的替代品, 为了方便用户记忆而发明出来的,比如:

网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。 

然而这种说法是错误的!

如果域名只是为了方便记忆, 那域名也就不是必要的了, 但事实上, 域名是不可取代的.

IP地址本质上是地理地址, 域名是逻辑地址, 逻辑层是高于物理层的, 思考模式和思考的主体都不一样, 比如浏览器是不用考虑ip地址的, 即使在地址栏中敲了一段ip地址, 浏览器也认为这是一个逻辑地址, 然后将这个地址交给OS来封装一个网络包.

如果url中是域名而不是ip地址, 浏览器是不会知道服务器的地理位置的, 因为dns解析的工作是由dns服务器与os完成的, 不信你打开Chrome的devtool,清空dns缓存后输入一个新的域名, 'network'标签页中肯定找不到dns包:

浏览器只关心最上层的应用数据包, 虽然dns也是应用层的, 但是它早已被降级了.OSI参考模型早已过时, 应用层被分为了更多的虚拟层次.主要就是逻辑地址与物理地址的分离.

逻辑地址和物理地址分离有什么好处呢?

因为你的地理位置是可以变化的,在没有域名的年代,比如微软公司总部原来在美国, 公网ip地址也是美国的, 但是后来准备将服务器搬到印度去了,总不能强行修改IP的地理位置规划吧, 互联网上可是有数百万台路由器在昼夜工作着, 不可能为了你停下来重新计算整个因特网ip结构. 那微软从此就换成印度的ip地址呢, 更糟糕, 这样的话要通知全世界所有的用户ip地址变更消息, 更不现实.

公网IP是公共资源,不能被私有化, 即使你的公司长期占用也只是拥有使用权没有变更权.但是域名是私有资源. 在更换地理位置的时候只要通知所有的dns服务器就可以了, 对用户而言, 不需要知道你在哪只要知道你是谁.

国内主机备案是怎么肥事?

国内服务器想要提供网站服务都是需要备案的, 未备案的主机是无法通过域名访问的, 但是可以通过ip地址访问. 这其实很有趣, 政府的sensorship虽然饱受诟病但是并不严格, 因此我们的云服务器比如阿里云只是在我们的机器前加了一道过滤器, 如果发现我们是通过域名访问机器的就给你拦截下来, 出现这样一张画面:

不信你仔细查看源代码会发现中间的iframe来自aliyun.com:-D

阿里云怎么区分你是通过域名访问的还是ip地址访问的呢? 只要检查http包就可以了,http头部有一个host字段,也就是url,如果url中主机部分是域名而不是ip则认为你是通过域名访问的, 然后给你拦下.

如果上https能否绕过备案拦截呢?

还真能.

https握手过程中不会暴露域名, 握手之后也会完全加密http内容, 中间拦截器无法判断你是否通过域名访问...囧

PS. ZF对内容审查的管理永远是防范外行人的, 本质上是为了控制'不法'的人数, 比如SS的github网址将主要内容的master分支替换为其他的默认分支, 就算合法了, 如果ZF真的严格审查, 任何技术人员都没办法...

!!!!!!!!自己了解下就好了, 勿传播

综上所述, 域名存在的意义不仅仅是为了方便记忆, 主要是实现了应用层与网络层的完全分离.

这种分离某种意义上也是IT与互联网的分离.

你的域名是你的私有资源, 你可以选择注册一个终身域名, 无论ip地址如何变化, 人们都可以通过域名找到你.

猜你喜欢

转载自blog.csdn.net/github_38885296/article/details/86509113