問題
網路怪事2026年9月2日為什麼有的網站一定要打 www,有的打了反而打不開?
詳細說明
兩筆名字,不是同一扇門
DNS 把名稱空間畫成一棵樹。每個節點自己帶一組資源紀錄,可有可無;RFC 1034 說得很乾:一個網域名稱對應一個節點,查詢只問那一個節點。www 只是樹上的一枚標籤,跟 blog、mail 沒兩樣,並不自動等於光禿的 example.com。
所以常見的「一定要打 www」或「打了反而打不開」,多半是其中一筆沒有 A/AAAA,或指到別處。主機代管常給 www 一筆 CNAME,指向他們的主機名;光禿的 apex(也叫根網域、@)卻不能放真正的 CNAME——同一節點若有 CNAME,依規範就不該再有別的資料,而 zone apex 必須帶 SOA 跟 NS。Cloudflare 所謂 CNAME flattening,是伺服器自己把別名解析成 IP,再對外假裝成 A/AAAA,好讓 apex 也能「看起來像」CNAME。沒這層代勞、又沒補 A 紀錄的站,你打不打 www,就是兩條岔路。
轉址、HSTS、cookie 也不共用
就算兩筆名字都指到同一台機器,HTTP 仍把它們當兩個主機。網站可以 301 從一邊趕到另一邊;沒設轉址,你就停在你打的那個。HSTS(Strict-Transport-Security)更挑:瀏覽器按主機名記住「以後只走 HTTPS」。MDN 寫明,某主機帶 includeSubDomains,政策往下罩子域,不往上罩父母。www.example.com 的 HSTS 罩不到 example.com;反過來,example.com 帶 includeSubDomains 才罩得到 www。一邊強制 HTTPS、一邊憑證沒備好,就會變成「這個打得開、那個鎖死」。
Cookie 也按主機切。Set-Cookie 沒寫 Domain,就是 host-only,只回給設它的那一台;寫了 Domain=example.com,才會連 www 一起帶。登入在 www,光禿網址卻像沒登入——不是網站改了心,是你走進另一扇門。
也有人這樣問
網址一定要打 www、www 打了反而打不開、為什麼要打www、site works without www、CNAME www apex