โดยปกติเราเพียงแค่พิมพ์ที่อยู่ของเว็บไซต์ที่เราต้องการดู แต่เว็บเซิร์ฟเวอร์จะ“ รู้” จริงหรือไม่หากเราใช้ที่อยู่ IP โดยตรงแทน โพสต์ถาม & ตอบ SuperUser วันนี้มีคำตอบสำหรับคำถามของผู้อ่านที่สับสน
เซสชันคำถามและคำตอบของวันนี้มาถึงเราโดยได้รับความอนุเคราะห์จาก SuperUser ซึ่งเป็นแผนกย่อยของ Stack Exchange ซึ่งเป็นการรวมกลุ่มเว็บไซต์ถาม & ตอบโดยชุมชน
เอื้อเฟื้อภาพโดย Cory M.Grenier (Flickr) .
คำถาม
ผู้อ่าน SuperUser Joseph A. ต้องการทราบว่าเว็บเซิร์ฟเวอร์สามารถบอกได้อย่างไรว่าคุณกำลังใช้การเข้าถึงที่อยู่ IP โดยตรงหรือไม่:
บางเว็บเซิร์ฟเวอร์เมื่อเข้าถึงโดยใช้ที่อยู่ IP ของตนจะแสดงข้อผิดพลาดว่าไม่อนุญาตให้เข้าถึงที่อยู่ IP โดยตรง ฉันสงสัยมานานแล้วว่ามันทำงานอย่างไร
เบราว์เซอร์แก้ไขที่อยู่ IP และเชื่อมต่ออยู่เสมอหรือไม่? การเข้าถึงที่อยู่ IP โดยตรงเป็นเพียงการข้าม DNS ทั้งหมดใช่ไหม? เซิร์ฟเวอร์ระยะไกลรู้ได้อย่างไรว่าคุณข้าม DNS
เว็บเซิร์ฟเวอร์จะรู้ได้อย่างไรว่าคุณใช้การเข้าถึงที่อยู่ IP โดยตรงหรือไม่?
คำตอบ
ผู้สนับสนุน SuperUser iAdjunct มีคำตอบให้เรา:
เพื่อตอบคำถามของคุณว่ามันรู้ได้อย่างไรมันเกี่ยวข้องกับสิ่งที่เบราว์เซอร์ของคุณส่งไปยังเว็บเซิร์ฟเวอร์ คุณคิดถูกที่ระบบจะแก้ไขให้เป็นที่อยู่ IP เสมอ แต่เบราว์เซอร์จะส่ง URL ที่คุณพยายามเข้าถึงในส่วนหัว HTTP
นี่คือตัวอย่างส่วนหัวที่ฉันพบทางออนไลน์แก้ไขให้ดูเหมือนว่าคุณใช้ Firefox บน Windows และพิมพ์ apple.com ลงในแถบที่อยู่:
![]()
นี่คือลักษณะของส่วนหัวหากคุณใช้ที่อยู่ IP:
![]()
ทั้งสองอย่างนี้จะถูกส่งไปยังที่อยู่ IP เดียวกันผ่านซ็อกเก็ต แต่เบราว์เซอร์จะแจ้งให้เว็บเซิร์ฟเวอร์ทราบถึงสิ่งที่เข้าถึง ทำไม? เนื่องจากเว็บเซิร์ฟเวอร์ที่มีที่อยู่ IP เดียวกันอาจโฮสต์หลายเว็บไซต์และให้หน้าเว็บที่แตกต่างกันสำหรับแต่ละเว็บไซต์ ไม่สามารถแยกแยะได้ว่าใครต้องการหน้าใดตามที่อยู่ IP เนื่องจากทุกคนมีหน้าเดียวกัน แต่สามารถแยกแยะได้ตามส่วนหัว HTTP
มีสิ่งที่จะเพิ่มคำอธิบาย? ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange ที่เชี่ยวชาญด้านเทคโนโลยีคนอื่น ๆ หรือไม่? ดูกระทู้สนทนาฉบับเต็มได้ที่นี่ .