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 继续

相关推荐
爱吃萝卜的美羊羊18 分钟前
ubuntu下国内升级ollama
linux·运维·ubuntu
飞火流云18 分钟前
vscode Linux下编译失败找不到文件
ide·vscode·编辑器
mzhan01730 分钟前
Linux: console: printk: console_no_auto_verbose
linux·运维·服务器
Savvy..1 小时前
天机学堂-Day01
linux·服务器·网络
HIT_Weston1 小时前
47、【Ubuntu】【Gitlab】拉出内网 Web 服务:Nginx 事件驱动分析(一)
前端·ubuntu·gitlab
w***15311 小时前
ubuntu 安装 Redis
linux·redis·ubuntu
Piink2 小时前
VSCode基本操作
vscode·编辑器
liweiweili1262 小时前
Linux 中替换某个目录下所有文件中的特定字符串
linux·运维·服务器
弓弧名家_玄真君3 小时前
Ubuntu 20.04.3 LTS 安装vnc (Xfce4 + Xvfb)
linux·运维·ubuntu
唐·柯里昂7983 小时前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建