Answers:
这有很多层次。重要的是,其中许多是可互换的。
例如,您可以在物理级别关闭同轴电缆网络,以太网或Wi-Fi。HTTP在所有这些协议之上工作,但是每个协议对所发送的有效负载的处理方式略有不同。
HTTP在称为TCP的另一个协议之上运行,而后者又或多或少地在称为IP的另一个协议之上运行(当今主要有两个变体-IPv4和IPv6)。
因此,HTTP服务器在操作系统中注册了IP地址(例如184.38.45.1
,或通常是“任意”),以及TCP端口(80
HTTP的默认端口,但通常是1
to 65535
)。现在,HTTP服务器告诉操作系统在数据(或其他消息)到来时对其执行ping操作。操作系统知道发生这种情况的时间,因为网络接口卡驱动程序会告诉您。NIC本身告诉NIC驱动程序,它实际上具有自己的软件来解释网络电缆上的电信号(或空中的无线信号等,您就可以了)。
旁注:
如果您想了解有关NIC如何启动与驱动程序/ OS的通信的更多信息,则可能需要查找有关硬件中断的一些基本信息-基本上,当前正在执行的CPU均已停止,并且程序流切换到中断处理程序例程-一个非常简单的代码段,负责通知系统,然后立即将控制权返回给CPU正在执行的原始操作。实际上,它可能会回答有关操作系统和计算机本身内部工作的许多问题,例如操作系统如何“窃取”正在运行的应用程序中的CPU,并在同时运行的不同应用程序之间改变CPU资源,即使他们不合作。
重新营业:
用您的手动电话比喻,想象您的电话实际上没有响铃。要知道您是否正在尝试拨打电话,您必须定期查看屏幕并进行检查。为了使它更容易管理HTTP服务器(因为已经有很多层进行定期检查),您实际上可以阻止检查尝试。
因此,您基本上不需要一直检查屏幕,而不是查看那里什么都没有然后再次检查。但是,您基本上有一个单独的系统来处理此问题(在您的情况下,听力中心会检查空气振动以获取有用的信息,例如振铃声),因此实际上并不需要您的关注(CPU时间)。
通过允许您一次监视多个连接(IOCP)的技术,此功能得到了进一步改进。这越来越接近电话铃响系统-您有一间装有一万个电话的房间,但是您只关心当前正在响铃的那些,而其他铃铛则不会引起您的注意。
计算机使用称为“端口”的概念,类似于电话总机的“扩展”:客户端不仅在“呼叫”服务器IP地址,而且还将请求发送到该服务器上的特定端口。
有成千上万的端口(维基百科列表),例如HTTP默认使用端口80。
诀窍是程序(例如Web服务器)可以注册自己以侦听特定端口。然后,操作系统会将进入该端口的所有请求传递给该程序。
拥有多个端口的要点是,通过使用不会相互干扰的不同端口,您可以在同一台服务器上同时运行多个服务。