为什么 Windows 有一个 Unix 风格的 etc/hosts?

For*_*tus 4 networking windows unix

为什么 Windows 有%systemroot%/system32/drivers/etc/hosts,而不是更“Windowsy”的东西?感觉就像 BSD 衍生品 Windows 的遗物从亿万年前得到了一些东西。这纯粹是兼容性问题吗?

Red*_*ick 7

是的,它是随着 Microsoft 采用基于 BSD 套接字 API 的 TCP/IP(根据 WinSock 规范实现)而出现的。

Winsock 遵循 Windows 开放系统架构 (WOSA) 模型;它在应用程序编程接口 (API) 及其导出的函数和协议栈之间定义了一个标准的服务提供者接口 (SPI)。它使用最早由 Berkeley Software Distribution (BSD) UNIX 推广的套接字范例。后来在 Windows Sockets 1.1 中为 Windows 进行了改编

http://msdn.microsoft.com/en-us/library/windows/desktop/ms740673(v=vs.85).aspx

兼容如

与 4.3 Berkeley Software Distribution (BSD) UNIX \etc\hosts 文件格式相同的本地文本文件。

http://technet.microsoft.com/en-us/library/bb727005.aspx


故事的一个版本在这里