不加 www 的裸域名好處主要是域名更加簡短、容易記憶。壞處就多了,講幾個(gè)主要的技術(shù)原因:
裸域名只能綁定 DNS 的 A 記錄,不能綁定 CNAME 記錄。也就是說你不能把裸域設(shè)定為另外域名的別名。很多時(shí)候這對管理不是很方便,特別是使用第三方托管服務(wù)的時(shí)候。如果第三方遷移服務(wù)器導(dǎo)致 IP 地址變更,你必須自己去更改 DNS 的 A 記錄。
比如你的個(gè)人博客采用 Tumblr 的服務(wù),如果使用裸域,你需要手動(dòng)將你域名的 A 地址指向 Tumblr 指定的IP 地址。Tumblr 如果遷移了機(jī)房,所有通過這種方式設(shè)定個(gè)人域名的用戶都必須更改自己的 DNS 才能繼續(xù)使用,否則服務(wù)就會(huì)中斷。使用子域名的 CNAME 記錄就相對簡單很多,只需要將 www 子域名的 CNAME 字段指向 http://domains.tumblr.com 這個(gè)域名,之后如果 Tumblr 更改 IP 地址,他們只需要重新設(shè)置http://domains.tumblr.com 這個(gè)域名的 A 記錄,而無需要求每個(gè)用戶去更改 DNS 記錄。
這個(gè)技術(shù)上的限制導(dǎo)致許多大型的第三方服務(wù)商不支持使用裸域。典型的如 Google 的服務(wù),現(xiàn)在都不能使用裸域。Google 的服務(wù)用戶基數(shù)大,不得不采用 DNS 級別的分布式,使用到的 IP 地址太多,而且變動(dòng)大。讓用戶綁定 A 記錄的話不利于負(fù)載均衡,維護(hù)起來也是幾乎不可能完成的任務(wù)。同理,大部分 CDN 也不支持裸域。
裸域的 cookie 的作用范圍太大。假如知乎也采用裸域,那么知乎所有 cookie 的作用范圍就包括http://zhihu.com 下的所有子域名。也就是說訪問 http://foo.zhihu.com 和 http://bar.zhihu.com 的時(shí)候都會(huì)帶上http://zhihu.com 裸域頁面設(shè)置的 cookie。從安全、隱私、可擴(kuò)展性、以及管理的角度而言,這對很多大型網(wǎng)站來說是不可接受的。
URL 的正則匹配,如果帶 www 前綴的并且以 .com/.net/.org 結(jié)尾的,通常成功的機(jī)會(huì)要大很多。這個(gè)你會(huì)在許多文本編輯器里面遇到。如果 URL 不是 www 開頭,并且也不是三大頂級域名結(jié)尾的,匹配成功的概率就要小很多。這是使用過程中有時(shí)候會(huì)讓人很抓狂的點(diǎn),重不重要全看你的用途和場合了。
另外一點(diǎn)非技術(shù)上的考量:用 www 子域名的好處體現(xiàn)在線下的環(huán)境,比如戶外廣告、報(bào)紙雜志、語音廣播、語音電話等使用場合,www 這個(gè)前綴(不管是視覺的還是聽覺的)能夠很明確的提醒受眾,這個(gè)信息片段是一個(gè)網(wǎng)站。有人會(huì)說加上 http:// 前綴也能解決這個(gè)問題,但現(xiàn)在隨著以 Chrome/Safari 為首的瀏覽器都開始在地址欄里隱藏 http:// 協(xié)議前綴了,普通用戶對于 http:// 這幾個(gè)字符的理解會(huì)越來越模糊,所以如果是線下的話,保留 www 這個(gè) visual/vocal cue 還是有一定意義的。
總的來說對于大訪問量或多子域名的網(wǎng)站來說,不建議使用裸域。小流量或子域名少的網(wǎng)站的話就看個(gè)人愛好了。我挺喜歡裸域的。最近幾年流行起來的「單頁網(wǎng)頁應(yīng)用」(Single Page Web App) 也是以采用裸域的居多,Twitter 算是一例。