Apache-2.2

如果我使用 www 和不使用 www 訪問網站有什麼區別?

  • March 13, 2014

我是一家軟體公司的網路開發人員,該公司為客戶開發網站。這些網站由第三方託管,因此我們無法完全控制它。

有一天,我們的一位客戶問我們,為什麼如果他們寫信給地址說:他們可以訪問他們的網站www.example.com/,但如果地址是,他們就無法連接,說:example.com/?他們需要無論有沒有 www 都可以正常訪問網站。在沒有 www 的情況下訪問時,它不會返回 404 server not found。瀏覽器可以找到網站的伺服器,卻返回網站自身的404資源未找到錯誤頁面。這意味著沒有 www 的 url 指向網站不存在的資源,但網站本身被找到。我仍然不明白為什麼www.example.com/指向不同的資源而不是example.com/. 我仍然不知道example.com/指向哪裡。

伺服器使用 apache-tomcat,網頁使用 servlet 和 Enfinity 框架提供服務。

我最初懷疑這與 DNS 有關。但現在我不太確定。你能指出我可能出錯的方向嗎?非常感謝你。

注意:我不知道這個問題是否適合發佈在伺服器故障上。如果離題,請轉移到適當的論壇。

這是一個 DNS 問題,但考慮到瀏覽器的工作方式,它也部分是瀏覽器/Web 伺服器問題。

您可以使用以下命令確定哪個是主要問題:

nslookup example.com
nslookup www.example.com

如果輸出相同,則應查看 Web 伺服器。如果它們不同,您應該與負責您的 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 伺服器,並且可能值得提出不同的問題。

引用自:https://serverfault.com/questions/581689