如果我使用 www 和不使用 www 访问网站,有什么区别?

如果我使用 www 和不使用 www 访问网站,有什么区别?

我是一家软件公司的网页开发人员,为客户开发网站。网站由第三方托管,因此我们无法完全控制。

有一天,我们的一个客户问我们,为什么他们写地址为 时可以访问他们的网站www.example.com/,但写地址为 时却无法连接example.com/?他们需要网站在有或没有 www 的情况下都能正常访问。当没有 www 访问时,它不会返回 404 服务器未找到。浏览器找到网站的服务器,但返回的是网站自己的 404 资源未找到错误页面。这意味着没有 www 的 url 指向不存在的资源之内网站,但可以找到网站本身。我仍然不明白为什么www.example.com/指向与不同的资源example.com/。我仍然不知道example.com/指向哪里。

服务器使用apache-tomcat,网页使用servlet和Enfinity框架提供服务。

我最初怀疑这与 DNS 有关。但现在我不太确定。您能告诉我哪里可能出错吗?非常感谢。

注意:我不知道这个问题是否适合发布在 Server Fault 上。如果与主题无关,请将其转移到适当的论坛。

答案1

这是一个 DNS 问题,但考虑到浏览器的工作方式,它也部分是一个浏览器/网络服务器问题。

您可以使用以下命令确定哪个是主要问题:

nslookup example.com
nslookup www.example.com

如果输出相同,则应检查 Web 服务器。如果输出不同,则应咨询 DNS 负责人。

DNS

从 DNS 的角度来看,example.com 是一个 DNS 名称,就像 www.example.com 是一个 DNS 名称一样。example.com 也是一个域,因为它包含其他 DNS 名称(例如 www.example.com)。example.com 和 www.example.com 都可以具有“A 记录”(关联的 IP 地址),并且这些 IP 地址甚至可能彼此不同。例如:

example.com -> 1.1.1.1 
www.example.com -> 2.2.2.2

主机名的“www”部分来自协议(HTTP,用于万维网 (WWW 或 www) 服务)。您可能还会有 ftp.example.com、mail 或 smtp.example.com 等。从逻辑上讲,每个主机名都应为所引用的协议提供服务,并且每个主机名都可能具有不同的 IP 地址。

如今,HTTP 非常普遍,因此域管理员经常会让 example.com 指向其 Web 服务器的 IP 地址。

网络服务器

另一个重要的部分是 Web 服务器。Web 服务器可以根据浏览器指定的主机名以不同的方式引导 Web 浏览器。这是 Web 浏览器提供的服务器名称或主机标头。如何完成或修复此问题是一个配置问题,取决于您使用的 Web 服务器,可能值得另问。

答案2

假设www.example.com和都example.com转到相同的 IP 地址,并且为该站点提供服务的 Web 服务器具有绑定,这些绑定配置为将带有任一标头的 HTTP 请求发送到同一位置,则没有区别。

假设您拥有域名example.com
您可以创建多个主机(即子域,即记录)
例如helloworld.example.com。它只是一条记录。
同样如此www。它只是一条映射到特定 IP 地址的记录。

一些网站管理员决定他们www根本不想要记录,因此当您浏览他们的网站时www.site.com,您找不到任何内容。

我想我们仍然会使用它,因为它是遗留的。

相关内容