Lua*_*aan 28
这有很多层次。重要的是,其中许多是可以互换的。
例如,您可以在物理层使用同轴电缆网络、以太网或 Wi-Fi。HTTP 在所有这些之上工作,但它们中的每一个对正在发送的有效负载的处理略有不同。
HTTP 在另一个称为 TCP 的协议之上运行,而 TCP 又或多或少运行在另一个称为 IP 的协议之上(现在主要有两种变体 - IPv4 和 IPv6)。
因此,HTTP 服务器向操作系统注册一个 IP 地址(如184.38.45.1
,或最常见的“任何”),以及一个 TCP 端口(80
是 HTTP 的默认端口,但通常是从1
到 的任何内容65535
)。现在,HTTP 服务器告诉操作系统在数据(或其他消息)到来时对其执行 ping 操作。操作系统知道这种情况何时发生,因为网络接口卡驱动程序会告诉它这一点。而网卡驱动是由网卡本身告诉的,网卡本身其实有自己的软件来解释网线上的电信号(或者空中的无线信号等等,你懂的)。
旁注:
如果您想更多地了解 NIC 如何启动与驱动程序/操作系统的通信,您可能需要查找有关硬件中断的一些基本信息 - 基本上,CPU 当前正在执行的任何操作都已停止,并且程序流切换到中断处理程序 - 一段非常简单的代码,负责通知系统,然后立即将控制权返回给 CPU 正在执行的原始操作。事实上,它可能会回答你很多关于操作系统内部工作原理和计算机本身的问题——比如操作系统如何从运行的应用程序中“窃取”CPU,并在同时运行的不同应用程序之间调整 CPU 资源,即使他们不合作。
回到业务:
在您的手动电话类比中,假设您的电话实际上并未响铃。要知道您是否正在尝试拨打电话,您必须定期查看屏幕并进行检查。为了使 HTTP 服务器更易于管理(因为已经有很多层在执行定期检查),您实际上可以阻止检查尝试。
因此,与其检查,看到那里没有任何东西并再次检查,您基本上一直在看屏幕。但是,您基本上有一个完整的独立系统来处理这个问题(在您的情况下,听力中心,它检查空气振动以获得有用的信息,戒指),因此它实际上不需要您的注意力(CPU 时间)。
允许您一次监视多个连接 (IOCP) 的技术进一步改进了这一点。这离电话响铃系统越来越近了——你有一个拥有一万部电话的房间,但你只关心此刻正在响铃的那些,其他人没有注意到你。
归档时间: |
|
查看次数: |
3181 次 |
最近记录: |