ส่วนชื่อโฮสต์ของ HTTP (S) URL เป็นตัวพิมพ์เล็กหรือใหญ่


16

จะปลอดภัยไหมที่จะใช้ http (s): //CompanyName.com/xyz เป็น URL (เช่นเพื่อจุดประสงค์ในการสร้างแบรนด์) โดยไม่มีการเปลี่ยนแปลงใด ๆ กับการกำหนดค่าด้านบริการ

ฉันรู้ว่า DNS ไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่อาจมีผลข้างเคียงหรือไม่ ฉันกำลังคิดเช่นส่วนต่าง ๆ ของห่วงโซ่ล้มเหลวในการจับคู่ CompanyName.com ~ companyname.com:

  • เว็บแบ็คเอนด์บางอย่างอาจไม่ตรงกัน
  • ตัวโหลดบาลานซ์ / พร็อกซี / แคช / ไฟร์วอลล์ชั้นแอปพลิเคชันบางตัวอาจไม่ตรงกัน
  • ลูกค้าบางรายอาจใช้นโยบายที่มาเดียวกันอย่างไม่ถูกต้อง
  • ลูกค้าบางรายอาจไม่ตรงกันในการตรวจสอบใบรับรอง
  • ในขณะที่ DNS ไม่คำนึงถึงขนาดตัวพิมพ์ แต่ IDN สามารถเปลี่ยนรูปภาพได้หรือไม่?

ทุกคนประสบปัญหาเหล่านั้นหรือปัญหาอื่น ๆ ที่มีตัวพิมพ์ใหญ่ในส่วนชื่อโฮสต์ของ URL?


[แก้ไข] @Michael Hampton ชี้ให้เห็นว่าตามมาตรฐาน HTTP ชื่อโฮสต์นั้นไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก แต่ซอฟต์แวร์บางตัวไม่เข้ากันกับเรื่องนี้

ฉันพยายามเข้าใจว่าซอฟต์แวร์ที่ไม่เข้ากันได้กับลูกค้าทั่วไปเป็นอย่างไร ฉันถือว่าเบราว์เซอร์หลัก ๆ ทั้งหมดนั้นใช้งานได้ดี แต่แอปมือถือคืออะไร (ฉันควรแยกคำถามนี้ออกเป็นคำถามแยกต่างหากหรือไม่) [/ แก้ไข]


ตัวอย่างเช่น Firefox ส่งHostส่วนหัวเล็ก(อย่างน้อยนั่นคือสิ่งที่เครื่องมือสำหรับนักพัฒนาแสดงให้ฉัน) ดังนั้นหากเบราว์เซอร์ทุกตัวทำเช่นนี้คุณไม่ควรมีปัญหาใด ๆ แม้ว่าอุปกรณ์บางอย่างในเส้นทางไปยังเซิร์ฟเวอร์จะไม่เหมือนกรณีที่ผสมกัน ชื่อโฮสต์ curlในทางกลับกันรักษากรณีเมื่อส่งส่วนหัว

คำตอบ:


23

ใช่ชื่อโฮสต์จริงๆเป็นกรณีตายตามที่ระบุไว้ในRFC 3986 § 3.2.2เพราะชื่อโฮสต์โดยทั่วไปเป็นกรณีตายในของ DNS RFC นี้ยังให้คำแนะนำเกี่ยวกับวิธีหลีกเลี่ยงปัญหาที่คุณกล่าวถึง:

แม้ว่าโฮสต์จะไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ผู้ผลิตและ Normalizers ควรใช้ตัวพิมพ์เล็กสำหรับชื่อที่ลงทะเบียนและที่อยู่เลขฐานสิบหกเพื่อความเท่าเทียมในขณะที่ใช้ตัวอักษรตัวพิมพ์ใหญ่สำหรับการเข้ารหัสเปอร์เซ็นต์

ฉันได้เห็นอย่างน้อยหนึ่ง HTTP แคช ( W3 รวม Cache ) ซึ่งไม่ปกติชื่อโฮสต์ในลักษณะนี้และสิ้นสุดขึ้นแคชเนื้อหาหลายครั้งเช่นภายใต้example.com, Example.Com, EXAMPLE.COMฯลฯ


1
อย่างน้อยตราบใดที่สิ่งที่เลวร้ายที่สุดที่เกิดขึ้นคือเนื้อหาได้รับการแคชหลายครั้งโดยแคชที่ไม่เป็นไปตามข้อกำหนดซึ่งดูเหมือนว่าบางสิ่งบางอย่างสามารถอยู่ได้
CVn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.