หากฉันป้อน IP สำหรับเว็บไซต์มากกว่ารูปแบบสตริงเซิร์ฟเวอร์ DNS ในพื้นที่ของฉันจะเข้าใจสิ่งนี้และฉันจะข้ามกระบวนการ DNS หรือไม่ [ซ้ำ]


12

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

นอกจากนี้สิ่งนี้จะถูกบันทึกไว้ใน hostfile ของฉันได้อย่างไร หากผ่านขั้นตอนการค้นหาทั้งหมด hostfile จะมีชื่อโฮสต์สตริงรวมถึง IP และเติมข้อมูลในเครื่องหรือไม่


1
ระบบชื่อโดเมนนี่คือสิ่งที่แปล url (google.com) เป็นที่อยู่ IP ดังนั้นหากคุณใช้ที่อยู่ IP คุณไม่จำเป็นต้องทำการค้นหาชื่อโดยเลี่ยงผ่านระบบ DNS en.wikipedia.org/wiki/Domain_Name_System
Moab

คำตอบด้านล่างถูกต้องเบราว์เซอร์ฉลาดพอที่จะไม่ทำการค้นหาที่อยู่ IP การค้นหาที่อยู่ IP ล่วงหน้านั้นไม่ใช่ความคิดที่ดีมี 3 วิธีที่เซิร์ฟเวอร์ DNS สามารถตอบสนองได้: 1) เซิร์ฟเวอร์ DNS ส่วนใหญ่จะส่งคืนที่อยู่ IP เดียวกัน 2) เซิร์ฟเวอร์ DNS อื่น ๆ ไม่สามารถแก้ไข "ชื่อ DNS" เป็น IP และจะแจ้งให้คุณทราบ 3) เซิร์ฟเวอร์ DNS บางตัว (ฟรี) ไม่สามารถแก้ไข "ชื่อ DNS" และให้ IP แก่คุณซึ่งจะนำคุณไปยังหน้าการค้นหาของตนเอง (มักเต็มไปด้วยโฆษณา)
user1793963

1
จำเป็นต้องมีชื่อโดเมนหากเว็บเซิร์ฟเวอร์โฮสต์หลายไซต์ มันมี IP เดียวและไม่มีชื่อโดเมนมันไม่สามารถเข้าใจเว็บไซต์ที่คุณต้องการ หากมีเพียงเว็บไซต์เดียวก็จะทำงานกับ IP ในลักษณะเดียวกัน
i486

1
โปรดทราบว่าชื่อโฮสต์ไม่เพียงส่งไปยัง DNS เพื่อการแปลเท่านั้น แต่ยังรวมถึงเว็บเซิร์ฟเวอร์ด้วย ซึ่งหมายความว่าเว็บเซิร์ฟเวอร์ที่ให้บริการหลายเว็บไซต์ไม่สามารถรู้ได้ว่าเว็บไซต์ใดที่คุณต้องการ แน่นอนว่านี่เป็นปัญหา IPv4 ด้วย IPv6 ทุกเว็บไซต์สามารถมีที่อยู่ IP ของตนเองได้
MSalters

1
ตอนนี้คำถามต่อไปคือ: เบราว์เซอร์ของคุณรู้ได้อย่างไรว่า2001:feed:face:dead::beef:8080เป็นที่อยู่ IPv6 ที่มีพอร์ตที่ระบุและไม่ใช่แค่ URL ที่มีรูปแบบไม่ดีจริงๆ ... ;)
Mark Henderson

คำตอบ:


15

หากคุณใช้ที่อยู่ IP ระบบปฏิบัติการจะรู้ว่าเป็นที่อยู่ IP ทันทีและจะไม่ทำการค้นหาล่วงหน้า

เมื่อคุณทำการร้องขอ HTTP ขั้นตอนแรกคือการรับที่อยู่ IP ของปลายทางเพื่อให้เบราว์เซอร์สามารถสื่อสารกับเซิร์ฟเวอร์ สำหรับการสื่อสารกับเซิร์ฟเวอร์ทุกอย่างเกิดขึ้นผ่าน IP จากที่อยู่ IP ไปยังที่อยู่ IP และดังนั้นจึงไม่จำเป็นต้องใช้ชื่อของเซิร์ฟเวอร์สำหรับการสื่อสารนี้ อย่างไรก็ตามจะถูกส่งผ่านในส่วนหัว HTTP เป็นHost:ส่วนหัวเพื่อแจ้งให้เว็บเซิร์ฟเวอร์ทราบว่าคุณอยู่ที่เว็บไซต์ใดหากเป็นโฮสต์หลายไซต์

ในกรณีของการเข้าถึงโดยที่อยู่ IP สิ่งนี้จะไม่เกิดขึ้นและจะมีการนำเสนอไซต์เริ่มต้น

hostsไฟล์ของคุณเป็นไฟล์แบบสแตติกไม่มีการเปลี่ยนแปลงใด ๆ จากการกระทำของคุณยกเว้นกรณีที่คุณแก้ไขโดยตรง (หรือมีสคริปต์หรือแอปพลิเคชันที่แก้ไข)


2
นอกจากนี้ยังเป็นที่น่าสังเกตว่าหากคุณป้อนที่อยู่ IP ในเบราว์เซอร์เช่น Chrome อาจทำการค้นหาโดย Google ก่อนที่จะโหลดเว็บไซต์
sventechie

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

2
@FrankThomas ในกรณีส่วนใหญ่ที่สินทรัพย์อยู่บนเซิร์ฟเวอร์เดียวกันสินทรัพย์จะถูกอ้างอิงโดย URL สัมพัทธ์ดังนั้นจะสามารถเข้าถึงได้ผ่านวิธีการเดียวกับคำขอต้นฉบับ - ผ่าน IP ข้อยกเว้นนี้คือตำแหน่งที่ใช้ base_href ในส่วนหัวและกำหนดโฮสต์ที่ควรใช้ URL สัมพัทธ์ ถ้ามีการใช้ FQDN ใช่ให้จบเกม
พอล

In the case of accessing by IP address, this does not happen, and the default site is presented.คุณจะมีโอกาสได้รับหน้าข้อผิดพลาดมากกว่า
User112638726

@sventechie จริงเหรอ? มีความคิดว่าทำไมมันถึงทำเช่นนั้น? ชอบคุณค่าของสิ่งนั้นคืออะไร?
Athoxx

3

ตามที่คนอื่นเขียนไว้โดยใช้ที่อยู่ IP คุณจะข้าม DNS อย่างแท้จริงซึ่งอนุญาตให้เข้าถึงตัวอย่างไซต์การพัฒนาที่ไม่มีชื่อโฮสต์

การเพิ่ม IP - ชื่อโฮสต์จำลองลงใน / etc / hosts นั้นเป็นเรื่องธรรมดาอีกครั้งสำหรับไซต์การพัฒนา ซึ่งแตกต่างจากการใช้ที่อยู่ IP โดยตรงนี่จะก) ยังคงข้าม DNS b) ทำให้เบราว์เซอร์เพิ่มHostส่วนหัวคำขอไปยังคำขอ HTTP ที่อนุญาตให้โฮสต์เสมือนบนเซิร์ฟเวอร์ท้องถิ่นตัวอย่างเช่น


มันน่าสังเกตว่าถ้ามีการปรับปรุงที่อยู่ IP ไม่ว่าจะด้วยเหตุผลใดก็ตามไฟล์ HOSTS จะไม่ได้รับการอัปเดตพร้อม ๆ กันซึ่งอาจนำไปสู่พฤติกรรมที่ไม่คาดคิดและเว็บไซต์ที่ดูเหมือนว่าจะไม่ทำงานอีกต่อไป การดูไฟล์โฮสต์เป็นหนึ่งในสิ่งสุดท้ายที่คนทำในการแก้ไขปัญหาและอาจถูกมองข้ามอย่างสิ้นเชิง
LPChip

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