ทำไม URL จะไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก
ฉันเข้าใจว่าอาจดูเหมือนคำถามเกี่ยวกับวาทศิลป์ (และ "ทนายของมาร") แต่ฉันคิดว่ามันมีประโยชน์ที่จะต้องพิจารณา การออกแบบของ HTTP คือ "ไคลเอนต์" ซึ่งเรามักจะเรียกว่า "เว็บเบราว์เซอร์" ขอข้อมูล "เว็บเซิร์ฟเวอร์"
มีเว็บเซิร์ฟเวอร์มากมายหลายแบบที่เปิดตัว Microsoft ได้เปิดตัว IIS พร้อมกับระบบปฏิบัติการ Windows Server (และอื่น ๆ รวมถึง Windows XP Professional) Unix มีรุ่นใหญ่อย่าง nginx และ Apache ไม่ต้องพูดถึงข้อเสนอเล็ก ๆ เช่น httpd ภายในของ OpenBSD หรือ thttpd หรือ lighttpd นอกจากนี้อุปกรณ์ที่รองรับเครือข่ายจำนวนมากได้สร้างขึ้นในเว็บเซิร์ฟเวอร์ที่สามารถใช้เพื่อกำหนดค่าอุปกรณ์รวมถึงอุปกรณ์ที่มีจุดประสงค์เฉพาะกับเครือข่ายเช่นเราเตอร์ (รวมถึงจุดเชื่อมต่อ Wi-Fi จำนวนมากและโมเด็ม DSL) และอุปกรณ์อื่น ๆ เช่นเครื่องพิมพ์หรือ UPS (หน่วยจ่ายไฟสำรองที่สำรองแบตเตอรี่) ซึ่งอาจมีการเชื่อมต่อเครือข่าย
ดังนั้นคำถาม "ทำไมต้องคำนึงถึงขนาดตัวพิมพ์ของ URL?" ถามว่า "เพราะเหตุใดเว็บเซิร์ฟเวอร์จึงถือว่า URL เป็นตัวพิมพ์เล็กและใหญ่" และคำตอบที่แท้จริงคือพวกเขาไม่ได้ทำอย่างนั้น อย่างน้อยหนึ่งเว็บเซิร์ฟเวอร์ซึ่งเป็นที่นิยมพอสมควรโดยทั่วไปจะไม่คำนึงถึงตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก (เว็บเซิร์ฟเวอร์คือ IIS)
เหตุผลสำคัญสำหรับพฤติกรรมที่แตกต่างกันระหว่างเว็บเซิร์ฟเวอร์ที่แตกต่างกันอาจทำให้เกิดความยุ่งยาก วิธีง่ายๆในการสร้างเว็บเซิร์ฟเวอร์คือการทำสิ่งต่าง ๆ เช่นเดียวกับที่ระบบปฏิบัติการของคอมพิวเตอร์ / อุปกรณ์ค้นหาไฟล์ หลายครั้งที่เว็บเซิร์ฟเวอร์ค้นหาไฟล์เพื่อให้ตอบกลับ Unix ได้รับการออกแบบให้ใช้งานกับคอมพิวเตอร์ระดับสูงได้ดังนั้น Unix จึงมีฟังก์ชั่นที่ต้องการในการใช้ตัวอักษรตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก Unix ตัดสินใจที่จะปฏิบัติต่อตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเพราะแตกต่างกันเพราะมันต่างกัน นั่นคือสิ่งที่ตรงไปตรงมาและเป็นธรรมชาติที่ต้องทำ Windows มีประวัติว่าเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เนื่องจากต้องการสนับสนุนซอฟต์แวร์ที่สร้างขึ้นมาแล้วและประวัตินี้กลับไปที่ DOS ซึ่งไม่รองรับตัวอักษรตัวพิมพ์เล็ก อาจเป็นไปได้ในความพยายามที่จะลดความซับซ้อนของสิ่งต่าง ๆ ด้วยคอมพิวเตอร์ที่มีประสิทธิภาพน้อยกว่าที่ใช้หน่วยความจำน้อยลง เนื่องจากระบบปฏิบัติการเหล่านี้มีความแตกต่างกันผลลัพธ์คือเว็บเซิร์ฟเวอร์ที่ได้รับการออกแบบอย่างเรียบง่าย (เวอร์ชั่นก่อนหน้า) จะมีความแตกต่างกัน
ตอนนี้ด้วยพื้นหลังทั้งหมดต่อไปนี้เป็นคำตอบเฉพาะของคำถามเฉพาะ:
เมื่อ URL ได้รับการออกแบบเป็นครั้งแรกเหตุใดตัวพิมพ์เล็กและตัวพิมพ์ใหญ่จึงมีคุณสมบัติ
ทำไมจะไม่ล่ะ? หากเว็บเซิร์ฟเวอร์มาตรฐานทั้งหมดเป็นตัวพิมพ์เล็กและตัวพิมพ์เล็กนั่นจะบ่งบอกว่าเว็บเซิร์ฟเวอร์นั้นทำตามชุดของกฎที่ระบุโดยมาตรฐาน ไม่มีกฎที่บอกว่ากรณีนี้ต้องถูกเพิกเฉย เหตุผลที่ไม่มีกฎคือเพียงว่าไม่มีเหตุผลที่จะมีกฎดังกล่าว ทำไมต้องสร้างกฎที่ไม่จำเป็นขึ้นมา?
ฉันถามสิ่งนี้เพราะดูเหมือนว่าฉัน (เช่นฆราวาส) ที่จะใช้ตัวพิมพ์เล็กและใหญ่เพื่อป้องกันข้อผิดพลาดที่ไม่จำเป็นและลดความซับซ้อนของข้อความที่ซับซ้อนอยู่แล้ว
URL ถูกออกแบบมาเพื่อให้เครื่องจักรดำเนินการ แม้ว่าบุคคลสามารถพิมพ์ URL แบบเต็มลงในแถบที่อยู่นั่นไม่ใช่ส่วนสำคัญของการออกแบบที่ตั้งใจไว้ การออกแบบที่ตั้งใจคือผู้คนจะติดตาม ("คลิกที่") เชื่อมโยงหลายมิติ หากคนธรรมดาโดยเฉลี่ยทำเช่นนั้นพวกเขาไม่สนใจจริงๆว่า URL ที่มองไม่เห็นนั้นง่ายหรือซับซ้อน
นอกจากนี้ยังมีวัตถุประสงค์ / ข้อได้เปรียบที่แท้จริงในการมี URL ที่เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (ตรงข้ามกับ URL ส่วนใหญ่ที่ชี้ไปยังหน้าเดียวกันไม่ว่าจะเป็นตัวพิมพ์ใหญ่หรือไม่)
จุดที่ห้าของคำตอบของWilliam Hayกล่าวถึงข้อได้เปรียบทางเทคนิคหนึ่งข้อ: URL สามารถเป็นวิธีที่มีประสิทธิภาพสำหรับเว็บเบราว์เซอร์ในการส่งข้อมูลไปยังเว็บเซิร์ฟเวอร์เล็กน้อยและสามารถรวมข้อมูลเพิ่มเติมได้หากมีข้อ จำกัด น้อยกว่า ข้อ จำกัด จะลดจำนวนข้อมูลที่สามารถรวม
อย่างไรก็ตามในหลายกรณีไม่มีประโยชน์ที่น่าสนใจอย่างยิ่งต่อความไวของตัวพิมพ์เล็กซึ่งพิสูจน์ได้จากข้อเท็จจริงที่ว่า IIS มักไม่สนใจมัน
โดยสรุปเหตุผลที่น่าสนใจที่สุดน่าจะเป็นเพียงความเรียบง่ายสำหรับผู้ที่ออกแบบซอฟต์แวร์เว็บเซิร์ฟเวอร์โดยเฉพาะบนแพลตฟอร์มที่คำนึงถึงขนาดตัวพิมพ์เช่น Unix (HTTP ไม่ใช่สิ่งที่มีผลต่อการออกแบบดั้งเดิมของ Unix เนื่องจาก Unix นั้นเก่ากว่า HTTP)