เมื่อท่องอินเทอร์เน็ตในช่วงสองสามปีที่ผ่านมาฉันเห็นหน้าต่างๆมากขึ้นเรื่อย ๆ ที่กำจัดโดเมนย่อย "www"
มีเหตุผลที่ดีในการใช้หรือไม่ใช้โดเมนย่อย "www" หรือไม่
เมื่อท่องอินเทอร์เน็ตในช่วงสองสามปีที่ผ่านมาฉันเห็นหน้าต่างๆมากขึ้นเรื่อย ๆ ที่กำจัดโดเมนย่อย "www"
มีเหตุผลที่ดีในการใช้หรือไม่ใช้โดเมนย่อย "www" หรือไม่
คำตอบ:
มีเหตุผลที่ดีมากมายที่จะรวมไว้ซึ่งสิ่งที่ดีที่สุดอยู่ที่นี่: แนวทางปฏิบัติที่ดีที่สุดด้านประสิทธิภาพของ Yahoo
เนื่องจากกฎจุดกับคุกกี้หากคุณไม่มี "www." คุณจะไม่สามารถตั้งค่าคุกกี้สองจุดหรือคุกกี้ข้ามโดเมนย่อย a la * .example.com มีสองผลกระทบที่เกี่ยวข้อง
ประการแรกหมายความว่าผู้ใช้ที่คุณให้คุกกี้จะส่งคุกกี้เหล่านั้นกลับมาพร้อมกับคำขอที่ตรงกับโดเมน ดังนั้นแม้ว่าคุณจะมีโดเมนย่อย images.example.com คุกกี้ example.com จะถูกส่งไปพร้อมกับคำขอไปยังโดเมนนั้นเสมอ สิ่งนี้จะสร้างค่าใช้จ่ายที่จะไม่เกิดขึ้นหากคุณกำหนดให้ www.example.com เป็นชื่อที่เชื่อถือได้ แน่นอนคุณสามารถใช้ CDN ได้ แต่ขึ้นอยู่กับทรัพยากรของคุณ
นอกจากนี้คุณยังไม่มีความสามารถในการตั้งค่าคุกกี้ข้ามโดเมนย่อย สิ่งนี้ดูเหมือนชัดเจน แต่การอนุญาตให้ผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์ย้ายไปมาระหว่างโดเมนย่อยของคุณนั้นเป็นความท้าทายทางเทคนิคมากกว่า
ดังนั้นลองถามตัวเองดู ฉันตั้งค่าคุกกี้หรือไม่ ฉันสนใจเกี่ยวกับค่าใช้จ่ายแบนด์วิดท์ที่ไม่จำเป็นหรือไม่? ผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์จะข้ามโดเมนย่อยหรือไม่ หากคุณกังวลกับความไม่สะดวกของผู้ใช้คุณสามารถกำหนดค่าเซิร์ฟเวอร์ของคุณให้ดูแล www / no www โดยอัตโนมัติได้ตลอดเวลา
หลังจากถามคำถามนี้ฉันก็พบกับหน้าที่ไม่มี wwwซึ่งระบุว่า:
... โดยสรุปแล้วการใช้โดเมนย่อย www นั้นซ้ำซ้อนและเสียเวลาในการสื่อสาร อินเทอร์เน็ตสื่อและสังคมล้วนดีขึ้นหากไม่มีมัน
www.
ทุกที่ที่ทำได้
นำมาจากโดเมนเนอร์ใช้ทั้ง www.domainname.com และ domainname.com ปกติไม่เช่นนั้นคุณก็แค่ทิ้งทราฟฟิกของคุณไปยังเครื่องมือค้นหา browers (DNS Error)
จริงๆแล้วมันน่าทึ่งมากที่มีโดเมนจำนวนมากโดยเฉพาะใน 100 อันดับแรกที่แก้ไขได้อย่างถูกต้องสำหรับ www.domainname.com แต่ไม่ใช่ domainname.com
มีหลายเหตุผลในการใช้โดเมนย่อย www!
เมื่อเขียน URL การเขียนด้วยลายมือและพิมพ์ "www.stackoverflow.com" จะง่ายกว่าแทนที่จะเป็น " http://stackoverflow.com " โปรแกรมแก้ไขข้อความไคลเอนต์อีเมลโปรแกรมประมวลผลคำและตัวควบคุม WYSIWYG ส่วนใหญ่จะจดจำทั้งสองข้อข้างต้นโดยอัตโนมัติและสร้างไฮเปอร์ลิงก์ การพิมพ์ "stackoverflow.com" จะไม่ส่งผลให้เกิดการเชื่อมโยงหลายมิติ แต่เป็นเพียงชื่อโดเมน .. ใครบอกว่ามีบริการเว็บที่นั่น? ใครบอกว่าการอ้างอิงถึงโดเมนนั้นเป็นการอ้างอิงถึงบริการบนเว็บ
คุณอยากเขียน / พิมพ์ / พูดอะไร .. "www." (4 ตัวอักษร) หรือ "http: //" (7 ตัวอักษร) ??
"www." เป็นวิธีการชวเลขที่กำหนดขึ้นในการสื่อสารความจริงที่ว่าหัวเรื่องเป็นที่อยู่เว็บไม่ใช่ URL สำหรับบริการเครือข่ายอื่น
เมื่อสื่อสารด้วยวาจาที่อยู่เว็บควรมีความชัดเจนจากบริบทว่าเป็นที่อยู่เว็บดังนั้นการพูดว่า "www" จึงซ้ำซ้อน เซิร์ฟเวอร์ควรได้รับการกำหนดค่าให้ส่งคืนการตอบสนอง HTTP 301 (ย้ายถาวร) โดยส่งต่อคำขอทั้งหมดสำหรับ @ .stackoverflow.com (รากของโดเมน) ไปยังโดเมนย่อย www
จากประสบการณ์ของฉันคนที่คิดว่า WWW ควรถูกละเว้นมักจะเป็นคนที่ไม่เข้าใจความแตกต่างระหว่างเว็บกับอินเทอร์เน็ตและใช้คำเหล่านี้แทนกันได้เช่นพวกเขาพ้อง เว็บเป็นเพียงหนึ่งในบริการเครือข่ายต่างๆ
ถ้าคุณต้องการกำจัด www ทำไมไม่เปลี่ยนเซิร์ฟเวอร์ HTTP ของคุณให้ใช้พอร์ตอื่นด้วย TCP พอร์ต 80 เมื่อวานนี้ .. มาเปลี่ยนเป็นพอร์ต 1234 กันเถอะตอนนี้มีคนพูดและพิมพ์ " http: //stackoverflow.com:1234 "(eightch tee tee pee colon slash slash stack overflow dot com colon one two three four) แต่อย่างน้อยเราก็ไม่ต้องพูดว่า" www "เอ๊ะ?
www.example.com
(สำหรับ "www." สั้นกว่า "http: //") แต่เปลี่ยนเส้นทางไปที่ "example.com" คุณควรฟังทั้งสองอย่าง แต่สิ่งที่คุณใช้เป็น Canonical นั้นไม่สำคัญจริงๆ (นอกเหนือจากปัญหาคุกกี้ / โดเมนย่อยที่ jdangel กล่าวถึง)
www.
ไม่ได้รับประกันว่าจะมีคนเข้าถึงผ่าน HTTP ผ่านพอร์ต 80 คุณแค่คิดว่าพวกเขาจะทำได้ ในทำนองเดียวกันหากคุณพูดกับใครบางคนว่า "stackoverflow.com" พวกเขาจะเข้าถึงด้วยวิธีเดียวกัน HTTP เป็นโปรโตคอลมาตรฐาน W3C เบราว์เซอร์จะเพิ่มhttp://
เนื่องจากต้องการโปรโตคอลและสมมติว่า HTTP หายไป ไม่สั้นกว่าhttp://www.
http://
คุกกี้เป็นเพียงการใช้ซ้ำที่ถูกต้องเท่านั้นwww.
และถึงอย่างนั้นก็ต่อเมื่อคุณถูกเกินไปที่จะได้รับ CDN หรือโดเมนที่สอง
ไม่มีข้อได้เปรียบอย่างมากในการรวมหรือไม่รวมมันและไม่มีกลยุทธ์ใดที่ดีที่สุด “ no-www.org” เป็นความเชื่อเก่า ๆ ที่โง่เขลาที่พยายามเสนอตัวเองว่าเป็นข้อเท็จจริงที่ชัดเจน
หากสถานการณ์ "องค์กรขนาดใหญ่ที่มีบริการต่างๆมากมายและไม่ต้องการที่จะอุทิศชื่อโดเมนเปล่าให้กับการเป็นเว็บเซิร์ฟเวอร์" จะไม่สามารถใช้ได้กับคุณ (และในความเป็นจริงก็แทบไม่มี) ที่อยู่ที่คุณเลือกคือ เรื่องทางวัฒนธรรมส่วนใหญ่ คนที่คุณคุ้นเคยกับการเห็นโดเมน "example.org" แบบเปลือยที่เขียนบนสื่อโฆษณาพวกเขาจะจำได้ทันทีว่าเป็นที่อยู่เว็บโดยไม่มี "www" หรือ "http: //" เพิ่มเติม ตัวอย่างเช่นในญี่ปุ่นคุณจะรู้สึกตลก ๆ ที่เลือกเวอร์ชันที่ไม่ใช่ www
ไม่ว่าคุณจะเลือกแบบใดก็ตามให้สอดคล้องกัน ทำให้ทั้งเวอร์ชัน www และไม่มี www สามารถเข้าถึงได้ แต่กำหนดให้เป็นเวอร์ชันที่ชัดเจนเชื่อมโยงไปยังเวอร์ชันนั้นเสมอและเปลี่ยนเส้นทางไปยังเวอร์ชันอื่น (รหัสสถานะ 301 อย่างถาวร) การมีชื่อโฮสต์ทั้งสองตอบสนองโดยตรงนั้นไม่ดีต่อ SEO และการให้บริการชื่อโฮสต์เก่าที่แก้ไขไปยังเซิร์ฟเวอร์ของคุณจะทำให้คุณเปิดรับการโจมตี DNS rebinding
มีสาเหตุหลายประการดังต่อไปนี้:
1) บุคคลนั้นต้องการวิธีนี้โดยมีวัตถุประสงค์
ผู้คนใช้ DNS ในหลาย ๆ สิ่งไม่เพียง แต่เว็บเท่านั้น พวกเขาอาจต้องการชื่อ DNS หลักสำหรับบริการอื่นที่สำคัญกว่าสำหรับพวกเขา
2) เซิร์ฟเวอร์ DNS ที่กำหนดค่าไม่ถูกต้อง
หากมีคนค้นหา www ไปยังเซิร์ฟเวอร์ DNS ของคุณเซิร์ฟเวอร์ DNS ของคุณจะต้องแก้ไข
3) เว็บเซิร์ฟเวอร์ที่กำหนดค่าไม่ถูกต้อง
เว็บเซิร์ฟเวอร์สามารถโฮสต์เว็บไซต์ต่างๆได้มากมาย เป็นการแยกแยะไซต์ที่คุณต้องการผ่านส่วนหัวของโฮสต์ คุณต้องระบุชื่อโฮสต์ที่คุณต้องการใช้สำหรับเว็บไซต์ของคุณ
4) การเพิ่มประสิทธิภาพเว็บไซต์
จะเป็นการดีกว่าที่จะไม่จัดการทั้งสองอย่าง แต่ให้ส่งต่อโดยใช้รหัสสถานะ http ที่ย้ายถาวร ด้วยวิธีนี้ที่อยู่ 2 แห่งจะไม่แย่งชิงอันดับลิงก์ขาเข้า
5) คุกกี้
เพื่อหลีกเลี่ยงปัญหาคุกกี้ไม่ถูกส่งกลับโดยเบราว์เซอร์ นอกจากนี้ยังสามารถแก้ไขได้ด้วยรหัสสถานะ http ที่ย้ายถาวร
6) การแคชเบราว์เซอร์ฝั่งไคลเอ็นต์
เว็บเบราว์เซอร์อาจไม่แคชรูปภาพหากคุณร้องขอไปยัง www และอื่น ๆ โดยไม่มี นอกจากนี้ยังสามารถแก้ไขได้ด้วยรหัสสถานะ http ที่ย้ายถาวร
ดังที่ jdangel ชี้ให้เห็นว่า www เป็นแนวทางปฏิบัติที่ดีในบางสถานการณ์คุกกี้ แต่ฉันเชื่อว่ามีเหตุผลอื่นที่จะใช้ www
ไม่ใช่ความรับผิดชอบของเราในการดูแลและปกป้องผู้ใช้ของเรา ตามที่คนส่วนใหญ่คาดหวัง www คุณจะมอบประสบการณ์ที่สมบูรณ์แบบให้กับพวกเขาโดยไม่เขียนโปรแกรมให้
สำหรับฉันมันดูหยิ่งเล็กน้อยที่ไม่ตั้งค่ารายการ DNS เพียงเพราะตามทฤษฎีแล้วมันไม่จำเป็น ไม่มีค่าใช้จ่ายในการดำเนินการรายการ DNS และผ่านการเปลี่ยนเส้นทาง ฯลฯ ซึ่งสามารถเปลี่ยนเส้นทางไปยังที่อยู่ DNS ที่ไม่ใช่ www
อย่างจริงจังอย่าสูญเสียการเข้าชมที่มีค่าโดยปล่อยให้ผู้มีโอกาสเป็นผู้เยี่ยมชมของคุณมีข้อผิดพลาด "ไม่พบไซต์" ที่ไม่จำเป็น
นอกจากนี้ในเครือข่าย windows เท่านั้นคุณอาจสามารถตั้งค่าเซิร์ฟเวอร์ DNS ของ windows เพื่อหลีกเลี่ยงปัญหาต่อไปนี้ได้ แต่ฉันไม่คิดว่าคุณจะทำได้ในสภาพแวดล้อมแบบผสมระหว่าง mac และ windows หาก mac ทำการสอบถาม DNS กับ windows DNS mydomain.com จะส่งคืนเนมเซิร์ฟเวอร์ทั้งหมดที่มีไม่ใช่เว็บเซิร์ฟเวอร์ ดังนั้นหากในเบราว์เซอร์ของคุณคุณพิมพ์ mydomain.com คุณจะมีเบราว์เซอร์ของคุณค้นหาเซิร์ฟเวอร์ชื่อที่ไม่ใช่เว็บเซิร์ฟเวอร์ในกรณีนี้คุณต้องมีโดเมนย่อย (เช่น www.mydomain.com) เพื่อชี้ไปที่เว็บเซิร์ฟเวอร์เฉพาะ
นอกเหนือจากการเพิ่มประสิทธิภาพการโหลดเกี่ยวกับคุกกี้แล้วยังมีเหตุผลที่เกี่ยวข้องกับ DNS สำหรับการใช้www
โดเมนย่อย คุณไม่สามารถใช้ CNAME กับโดเมนเปล่า ในyes-www.org yes-www.org จะระบุว่า:
เมื่อใช้ผู้ให้บริการเช่น Heroku หรือ Akamai เพื่อโฮสต์เว็บไซต์ของคุณผู้ให้บริการต้องการอัปเดตระเบียน DNS ในกรณีที่จำเป็นต้องเปลี่ยนเส้นทางการรับส่งข้อมูลจากเซิร์ฟเวอร์ที่ล้มเหลวไปยังเซิร์ฟเวอร์ที่มีประสิทธิภาพ ตั้งค่าโดยใช้ระเบียน DNS CNAME และโดเมนเปล่าไม่สามารถมีระเบียน CNAME ได้ นี่เป็นปัญหาหากไซต์ของคุณมีขนาดใหญ่พอที่จะต้องใช้โฮสติ้งซ้ำซ้อนกับบริการดังกล่าว