คุณไม่ควรใช้ 0.0.0.0 ด้วยวิธีนี้ แม้ว่ามันจะได้ผล เหตุผล: คุณต้องเผชิญกับปัญหา
การใช้ 0.0.0.0 สำหรับการสื่อสาร HTTP เป็นการละเมิดมาตรฐานซึ่งจัดประเภท 0.0.0.0 อย่างเป็นทางการว่าเป็นที่อยู่ "ใช้ไม่ได้" คำว่า "ที่อยู่ที่ไม่สามารถใช้งานได้" ใน IPv4 หมายถึงที่อยู่แรกและที่อยู่สุดท้ายของเครือข่ายหรือเครือข่ายย่อยใด ๆ 0.0.0.0 เป็นที่อยู่แรกของทุกเครือข่ายย่อย IPv4 ที่เป็นส่วนหนึ่งของ
มีการพูดถึงที่อยู่แรกที่ได้รับการปฏิบัติเป็นพิเศษ (โดยใช้วิธีต่างๆในการระบุเอกสาร) อย่างน้อย RFC 894, RFC 919, RFC 1122 และ RFC 3021 เหตุผลพื้นฐานที่ประกาศว่า "ใช้ไม่ได้" ก็คือมันเป็น ถือว่าเป็นที่อยู่ออกอากาศ ตั้งแต่นั้นมามาตรฐาน IPv4 ที่ใช้กันทั่วไปก็คือที่อยู่สุดท้ายคือที่อยู่การออกอากาศ แต่ยังคงเป็นที่อยู่แรกที่ได้รับการยอมรับอย่างกว้างขวางว่าเป็น "ใช้ไม่ได้" ฉันขอโทษ @harrymc ที่ฉันต้องไม่เห็นด้วยกับความคิดเห็นตามศัพท์แสง แม้ว่าจะสามารถใช้ที่อยู่ทางเทคนิคได้และเหมาะสมกับคำจำกัดความของคำว่า "ใช้งานได้" แต่ก็มีข้อกำหนดทางเทคนิคบางอย่างในโลกเครือข่ายของ "ที่อยู่ที่ใช้งานได้" และ "ที่อยู่ที่ใช้ไม่ได้" ขึ้นอยู่กับศัพท์แสงมาตรฐานอุตสาหกรรมนี้ 0.0.0
อาจไม่มีเหตุผลทางเทคนิคว่าทำไมที่อยู่แรกต้องไม่สามารถใช้งานได้ นี่ไม่ใช่ผลลัพธ์ของข้อ จำกัด ที่บังคับโดยการ จำกัด จำนวนที่สามารถใส่ได้จำนวนภายในกลุ่ม อย่างไรก็ตามมันเป็นมาตรฐานโดยฉันทามติ ถูกหรือผิดนั่นคือความจริง คนได้รับการฝึกฝนให้หลีกเลี่ยงการใช้ที่อยู่นี้ ดังนั้นซอฟต์แวร์หลายชิ้นอาจตรวจสอบเพื่อให้แน่ใจว่ากฎมาตรฐานนี้ไม่ได้ถูกละเมิด
หากคุณใช้เวลาพอสมควรในการพัฒนาระบบเครือข่ายขั้นสูงคุณจะพบว่าระบบเครือข่ายที่ทันสมัยจำนวนมากได้รับการออกแบบโดยคำนึงถึงความสอดคล้องกัน ดังนั้นฉันทามติเป็นสิ่งสำคัญ
หากคุณต้องการพยายามที่จะละเมิดกฎนี้คุณสามารถลอง มีซอฟต์แวร์ "โอเพ่นซอร์ส" มากมายที่คุณสามารถปรับให้เข้ากับความต้องการของคุณได้ อย่างไรก็ตามหากคุณละเมิดมาตรฐานทั่วไปอย่างรู้เท่าทัน (หรือปฏิเสธที่จะปรับตัวหลังจากเรียนรู้ว่าคุณละเมิดมาตรฐานทั่วไปโดยไม่รู้ตัว) คุณไม่ควรแปลกใจหากคุณประสบปัญหาบางอย่าง ตัวอย่างเช่น: หากผู้เขียนซอฟต์แวร์การท่องเว็บที่สำคัญไม่ถือว่าที่อยู่ "ใช้ไม่ได้" เช่นที่อยู่ปกติ
นอกจากจะใช้ไม่ได้แล้ว 0.0.0.0 จะเต็มไปด้วยเลขศูนย์และทำให้มันดูคล้ายกันมากในแนวคิดของ "::" ซึ่งเป็นที่อยู่อย่างเป็นทางการ "ที่ไม่ได้ระบุ" ใน IPv6 ดังนั้นการรักษา 0.0.0.0 เป็นที่อยู่ "ที่ไม่ได้ระบุ" ใน IPv4 นั้นค่อนข้างสมเหตุสมผลและสอดคล้องกับคำสั่ง netstat (โดยเฉพาะกับ "netstat -na") ทำสิ่งต่าง ๆ (ทั้ง Unix และ Microsoft Windows)
ในแง่นั้นการใช้งาน DHCP ที่ 0.0.0.0 นั้นสมเหตุสมผลมาก ก่อนที่จะกำหนดที่อยู่คอมพิวเตอร์กำลังใช้ที่อยู่ "ไม่ระบุ" จริงๆแล้วสิ่งที่ฉันสงสัยว่าคอมพิวเตอร์กำลังทำอยู่นั้นอาศัยที่อยู่ MAC ของเฟรม (เลเยอร์ 2: อีเธอร์เน็ต / Wi-Fi) แทนที่อยู่ IPv4 (เลเยอร์ 3) เพื่อให้คอมพิวเตอร์ที่ถูกต้องได้รับที่อยู่ที่ถูกต้อง
บางคนอาจคิดว่า 0.0.0.0 หมายถึงแนวคิดของที่อยู่ "ใด ๆ " ซึ่งอาจเป็นเพราะ "netsat -na" ดูเหมือนจะทำเช่นนั้น หากคุณมีความคิดเกี่ยวกับสิ่งที่คุณต้องการให้หมายถึง 0.0.0.0 ให้รู้ว่ามีความคิดอื่น ๆ อยู่บ้างซึ่งค่อนข้างแพร่หลาย ความขัดแย้งและปัญหาอื่น ๆ คาดว่าจะลองใช้วิธีอื่น
เมื่อพูดถึง netstat คุณอาจพบว่า "netstat -nr" แสดงรายการตารางเส้นทางสำหรับ "127.0.0.0/8" หรือ "127.0.0.1/8" (IPv4 subnet mask 255.255.255.0) และที่อยู่เครือข่ายอื่น ๆ ที่คุณมี กำหนดให้กับการ์ดเครือข่ายของคุณ แต่ไม่ใช่ "0.0.0.0/32" (ซับเน็ตมาสก์ IPv4 255.255.255.255) แม้ว่าคุณอาจเห็นว่า "0.0.0.0/0" (IPv4 subnet mask 0.0.0.0) ถูกตั้งค่าให้ส่งทราฟฟิกไปยังเกตเวย์เริ่มต้นของ IPv4 ของคุณ นั่นเป็นเครือข่ายย่อยมาตรฐานและเส้นทางในที่ทำงาน หากคุณยังไม่ได้รับการฝึกอบรมเกี่ยวกับเทคนิคดังกล่าวคุณควรหลีกเลี่ยงการคิดค้นความคาดหวังส่วนตัวใหม่ ๆ สำหรับวิธีการทำงานของ 0.0.0.0
ท้ายที่สุดเพื่อพูดถึง Google Omnibox: ฉันไม่รู้ว่ามันทำงานอย่างไร อย่างไรก็ตามการใช้งานใด ๆ ที่อาศัย 0.0.0.0 นั้นไม่ได้มาตรฐานดังนั้นฉันจึงคาดการณ์ว่าผู้พัฒนาซอฟต์แวร์ (Google ในกรณีนี้) อาจทำการเปลี่ยนแปลงได้ตลอดเวลา และหากพวกเขาทำการเปลี่ยนแปลงในเวลาใด ๆ พวกเขามีแนวโน้มที่จะทำเครื่องหมายเฉพาะจำนวนคนที่ไม่มีนัยสำคัญทางสถิติ ดังนั้นทางออกที่ดีที่สุดของคุณคือไม่ต้องพึ่งพาวิธีพิเศษใด ๆ ที่ซอฟต์แวร์ใช้กับที่อยู่ 0.0.0.0 ในปัจจุบัน อาจเป็นเพราะ Google กำลังค้นหาข้อความเพราะ Google กำลังทำการป้อนข้อมูล (สิ่งที่คุณพิมพ์ในแถบที่อยู่) เป็นข้อความที่ไม่ถูกต้อง - สิ่งที่ Google ไม่ได้รับรู้ว่าเป็นที่อยู่ที่ถูกต้อง นั่นเป็นสิ่งที่ฉันคาดหวังจากเว็บเบราว์เซอร์จำนวนมากที่ต้องทำ
ฉันเข้าใจความเจ็บปวดที่คุณอาจรู้สึกเกี่ยวกับ "มันใช้งานได้มาก่อนแล้วทำไมมันถึงแตก" นั่นเป็นที่เข้าใจ อาจเป็นไปได้ว่าวิธีการก่อนหน้านี้ของการทำสิ่งที่แตก นั่นคือสิ่งที่คุณเสี่ยงเมื่อทำสิ่งที่ไม่ได้มาตรฐาน ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้เนื่องจากไม่มีพฤติกรรมการทำงานที่ชัดเจนโดยมาตรฐานสากลใด ๆ พฤติกรรม "แบบกำหนดเอง" ("ที่ไม่ได้มาตรฐาน") จึงสามารถหยุดได้ตลอดเวลา ทางออกที่ดีที่สุดของคุณคือการใช้เทคนิคมาตรฐานที่กำหนดพฤติกรรมไว้อย่างชัดเจน
หากคุณต้องการที่อยู่เครือข่ายที่ใช้งานง่ายคุณสามารถใช้http://10.1.1.1หรือชื่อ DNS ส่วนตัว (เช่นhttp: // llll (aka http: // LLLL )) มีข้อโต้แย้งว่าทำไมบางราก DNS ส่วนตัวที่ไม่พึงประสงค์ก็มีแนวโน้มที่จะทำงานที่มีปัญหาน้อยกว่าการพยายามที่จะพึ่งพา แต่http://0.0.0.0 หรือคุณสามารถใช้http: // l (สำหรับเว็บเซิร์ฟเวอร์ในพื้นที่) และใช้ไฟล์โฮสต์ของคุณซึ่งคุณอาจพบว่าใช้งานได้น้อยกว่าการตั้งค่า DNS ที่กำหนดเองอย่างน้อยสำหรับโซลูชันขนาดเล็กระยะสั้นอย่างรวดเร็ว วิธีแก้ปัญหาเหล่านั้นอาจจะทำงานได้ดีกว่าดำเนินการต่อไปเพื่อตีหัวของคุณกับกำแพงในการพยายามที่จะบังคับให้โลกในการรักษาhttp://0.0.0.0วิธีที่คุณต้องการ
หากคุณต้องการวิธีแก้ปัญหาในการทำงานกับเว็บเบราว์เซอร์ให้ทำตามคำแนะนำจากความคิดเห็นของเฮดดี้เพื่อลองhttp://127.0.0.1หรือที่อยู่ IP ที่ NIC ของคุณใช้ คุณสามารถลองhttp: // localhost (แต่เครื่องอื่น ๆ เมื่อพยายามเชื่อมต่อกับเว็บเซิร์ฟเวอร์ควรใช้ที่อยู่ IP อื่นที่ไม่ใช่http://127.0.0.1หรือhttp: // localhostหรือhttp: // [:: ] )
หากคุณใช้งาน 0.0.0.0 อย่างต่อเนื่องคุณจะพบปัญหาเหล่านี้:
-
มันอาจจะหรืออาจจะไม่ทำงานในวันนี้
-
ผู้คนจะรู้สึกหงุดหงิดกับการพยายามช่วยเหลือคุณเนื่องจากคุณละเมิดมาตรฐานที่คนอื่น ๆ ยอมรับ
-
แม้ว่าคุณจะทำสิ่งต่าง ๆ ให้ทำงานได้ในวันนี้ แต่มันอาจจะพังในอนาคตถ้าคุณทำบางอย่างเช่นปรับปรุงซอฟต์แวร์บางส่วน การปรับปรุงอาจตัดสินใจที่จะเริ่มต้นการรักษา 0.0.0.0 เป็นที่อยู่ที่ไม่ปกติ
หากคุณยินดีที่จะแก้ไขปัญหาใด ๆ รวมถึงการปรับซอร์สโค้ดก็ไม่มีใครที่นี่พยายามที่จะหยุดคุณ อย่าคาดหวังว่าคนอื่นจะช่วยเพราะพวกเขาอาจเห็นความพยายามทั้งหมดเป็นการเสียเวลา (เมื่อเทียบกับทางเลือกที่ดีกว่าซึ่งก็คือไปตามมาตรฐาน) ในระยะยาวมีวิธีการอื่น ๆ ที่จะต้องใช้ความพยายามน้อยกว่าการพยายามกำหนดพฤติกรรมบางอย่างไปยังที่อยู่ 0.0.0.0
0.0.0.0ไม่ใช่ที่อยู่ IP ที่ถูกต้องในการนำทาง Chrome รู้สิ่งนี้จึงอนุญาตให้คุณทำในสิ่งที่รู้ว่าใช้ได้สำหรับอินพุตที่กำหนดเท่านั้น (เช่นการค้นหา)