13、【Ubuntu】【VSCode】VSCode 断联问题分析:hostname(一)

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

背景

上篇 blog
【Ubuntu】【VSCode】VSCode 断联问题分析:getent 命令(二)

继续介绍了下 getent 命令的描述以及回环地址 127.0.1.1127.0.0.1 的区别,下面继续来看下

VSCode 断联问题

上篇 blog 【Ubuntu】【VSCode】VSCode 断联问题分析:getent 命令(二) 里提到了主机名 adminpc-M600 也具有一个回环地址 127.0.1.1,下面就主机名再详细展开说下

首先,主机名也有自己的一个命令 hostname,在终端输入

bash 复制代码
man hostname

可以查看 hostname 命令如下

可以看到,如果直接在终端输入 hostname,那么将返回这台机器的主机名

另外,上面还提到了另一个命令 domainname,这个命令会显示这个机器的域名,下面介绍下主机名和域名的区别,首先是其定义不同

  • 主机名 (hostname):一台具体计算机在网络中的名字,具有局部性 ,通常只在某个局部网络环境 (比如家庭,公司)中有意义,比如当前的电脑叫 adminpc-M600,同处于这个局部环境的打印机叫 printer-01
  • 域名 (domainname):一个组织或网站在互联网上的名字,用于标识一个域 (domain),是全局性的 ,在互联网上是唯一的,比如 google.com

然后其层级也不同 ,它们不是并列关系,而是包含关系,比如全限定域名 (FQDN) 就等于主机名 + 域名 ,举个例子,一台机器主机名叫 adminpc-M600,域名叫 mycompany.com,其全限定域名 adminpc-M600.mycompany.com 就是这台机器在互联网上完整的唯一标识

可以用 domainname 查本台机器的域名,当然,一般是没有的

在终端输入

bash 复制代码
hostname -f

可以查看本机的查看全限定域名 FQDN,-f 选项描述如下

从描述可以看出,-f 选项会显示全限定域名 FQDN(Fully Qualified Domain Name),FQDN 由主机名和域名构成,在没有域名时,hostname -f 只会显示主机名

另外,上篇 blog 【Ubuntu】【VSCode】VSCode 断联问题分析:getent 命令(二) 提到,getent hosts google.com 可以查看其 IP 地址,注意,这里填的是 google.com,而不是 www.google.comgoogle.com 是域名,而 www.google.com 是全限定域名 FQDN,没错,前面的 www 就是主机名,是 Web 服务器代号

如果输入命令 getent hosts www.google.com,同样也可以获得其 IP 地址

可以看到 google.comwww.google.com 这里的 IP 地址是不一样的,但经过负载均衡器之后,都指向同一个地方,所以在浏览器上,输入这俩域名,打开的网站内容是一样的,这其中实现可能有几个点

  • DNS 配置:网站管理员可以在 DNS 服务器上为域名 mycompany.comadminpc-M600.mycompany.com 都配置了 A 记录或 CNAME,比如

A mycompany.com → 142.250.180.78

CNAME adminpc-M600.mycompany.commycompany.com

这样无论输入 mycompany.com 还是 adminpc-M600.mycompany.com,DNS 都能解析到相同的 IP 地址,上面的情况显然不是这种,网站上更常见的,还是下面这种

  • HTTP 重定向 (301/302):网站设置一个主域(比如 www.csdn.net),当访问 csdn.net 时,Web 服务器收到请求,立即返回一个 HTTP 301 (永久重定向) 响应,告诉浏览器:用 www.csdn.net 访问,此时浏览器就会自动跳转到 www.csdn.net,确保搜索引擎和用户都使用统一的 URL,避免重复内容

ok,先到这里,下篇 blog 继续

相关推荐
pride.li2 小时前
开发板和Linux--nfs服务挂载
linux·运维·服务器
looking_for__2 小时前
【Linux】应用层协议
linux·服务器·网络
BB_CC_DD2 小时前
Linux截图工具(ubuntu18.04+flameshot(火焰截图))
linux
云泽8083 小时前
不止是命令:Linux 高频指令实战 + 芯片架构底层逻辑
linux·运维·服务器
j_xxx404_3 小时前
Linux:基础IO
linux·运维·服务器
wdfk_prog4 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
Trouvaille ~5 小时前
【Linux】网络编程基础(二):数据封装与网络传输流程
linux·运维·服务器·网络·c++·tcp/ip·通信
小乔的编程内容分享站6 小时前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
旅途中的宽~6 小时前
【深度学习】通过nohup后台运行训练命令后,如何通过日志文件反向查找并终止进程?
linux·深度学习
dump linux7 小时前
内核驱动调试接口与使用方法入门
linux·驱动开发·嵌入式硬件