ความแตกต่างหลักคือ Name Resolution:
- localhost: ต้อง resolve ผ่าน hosts file (หรือ DNS) ก่อน จึงจะได้ IP address (ปกติคือ 127.0.0.1) มี overhead นิดหน่อย
- 127.0.0.1: เป็น IP address โดยตรง ไม่ต้อง resolve เร็วกว่าเล็กน้อย
ใน MySQL มีความหมายเพิ่มเติม:
localhost→ ใช้ Unix Socket (หรือ Named Pipe ใน Windows) การเชื่อมต่อเร็วกว่า TCP/IP127.0.0.1→ บังคับใช้ TCP/IP loopback แม้อยู่เครื่องเดียวกัน
สรุป:
- ง่ายต่อการจดจำ:
https://localhost - เร็วกว่า (ใน MySQL):
localhost(เพราะใช้ Socket) แต่ถ้าพูดทั่วไป 127.0.0.1 ไม่ต้อง resolve - หากต้องการทดสอบ TCP/IP stack ให้ใช้
127.0.0.1