深入理解计算机系统——第十二章小结

昨天继续看了一会第三章,暂时不够另写一篇。
晚上OS课时顺手翻了一下十二章,发现大部分在假期做过了,于是先把这章小结。

十二章 网络编程

1. 自己动手写一个服务器, http, mail, ftp 

2. 每个网络应用都是基于客户端-服务器模型,
   这个模型简单的说就是请求事务,服务端处理事务,服务端响应事务,请求端响应事务。

3. 对于主机而言,网络只是一种新的I/O设备. 

4. LAN (Local Area Network) 区域网,以太网(Ethernet),
   集线器(hub),网桥(bridge),桥接以太网(birdged Ethernet)
   路由器(router),internet

5. 互联网思想的精髓在于封装。

6. TCP/IP(Transmission Control Protocal/Internet Protocol 传输控制协议/互联网络协议)
   IP协议提供命名方法,使得传输可能,不可靠。
   UDP扩展传输协议,使得能在进程间传输,不可靠。
   TCP全双工传输协议。可靠(relible)。

7. IP地址和DNS服务器

8. 套接字(socket)和套接字地址(socket address)

9. 套接字接口(socket interface) 是一组用来结合Unix I/O函数创建的网络应用的函数。
   大多数现代操作系统都实现它。

10. 一部分的网络编程函数,这里不详细介绍。

11. Web动态内容提供涉及CGI(Common Getaway Interface, 通用网关接口)
   大体上服务器收到请求后会fork子进程,设置其环境变量(QUERY_STRING, SERVER_PORT等),
   子进程通过Unix dup2将标准输出重定向到和客户端相关联的连接描述符。
   CGI处理Content-type和 Content-length,以及终止的空行。

12. 假如你准备写一个服务器,如果是http服务器,可以参考 
   轻量级 Web 服务器 http://www.ibm.com/developerworks/cn/web/wa-ltwebserv/, 
   其他资料继续从网上找。

13. 假如你写好了一个轻量级服务器,不要太高兴,可以尝试了解apache源码。
   构建一个运行时间很长而而且不崩溃的健壮的web服务器是一件困难的任务。比如处理一些SIGPIPE信号。

14. RFC文档。

此条目发表在C, 系统, 编程分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注