网络服务与诊断工具全解析
1. 应用层特性与网络服务器概述
在网络通信中,应用层有着独特的特性。从调试输出中可以看到,尽管有“Recv header”和“Recv data”的区分,但在 curl 与操作系统交互、操作系统处理以及网络处理底层数据包时,二者并无差异。这种区别仅存在于用户空间的 curl 应用中,当 curl 接收到空白行时,便知道后续内容为请求的文档。服务器发送数据时也是如此,操作系统并不区分头部和文档数据,区分操作在用户空间的服务器程序内完成。
常见的网络服务器有多种类型,它们大多与系统中的其他守护进程类似,但会与网络端口进行交互。以下是一些常见的网络服务器:
| 服务器类型 | 具体服务器 |
| ---- | ---- |
| Web 服务器 | httpd, apache, apache2, nginx |
| 安全外壳守护进程 | sshd |
| 邮件服务器 | postfix, qmail, sendmail |
| 打印服务器 | cupsd |
| 网络文件系统守护进程 | nfsd, mountd |
| Windows 文件共享守护进程 | smbd, nmbd |
| 远程过程调用端口映射服务守护进程 | rpcbind |
大多数网络服务器通常以多进程方式运行。至少有一个进程监听网络端口,当接收到新的传入连接时,监听进程会使用 fork() 创建一个子进程来处理该连接。子进程(通常称为工作进程)在连接关闭时终止,而原始监听进程则继续监听网络端口。不过,也有一些例外情况。例如,调用 fork()
超级会员免费看
订阅专栏 解锁全文
3629

被折叠的 条评论
为什么被折叠?



