您的位置:首页 > 运维架构 > Linux

Understanding Unix/Linux Programming 笔记:chapter 12:连接和协议:编写Web服务器

2013-11-12 23:50 866 查看
Key-word: Web服务器

基本概念:

Web服务器通常具备3种用户操作:列举目录信息、cat文件、运行程序。

本章要编写的Web服务器是对上章的ls服务器的扩展,扩展了cat文件、运行程序功能。

但如何能使一个服务器接收多个请求,实现不同的功能?用fork实现。

内容概述:

编写建立服务器端socket的函数:make_server_socket(int portnum),该函数只是将上一章讲的服务器程序流程中的前三步合为整体,即:创建一个socket、给socket绑定一个地址、监听接入请求,分别对应socket、bind、listen函数调用。

编写建立到服务器的连接的函数:connect_to_server(hostname, portnum),该函数只是将上一章讲的客户端程序流程的前两步合为整体,即:创建一个socket、将该socket连接到服务器,分别对应socket、connect函数调用。

服务器在处理客户端请求时有两种处理方法:1)自己做(DIY);2)代理。

之前讲的所有服务器程序都是自己做,即该进程自己处理。代理指的是创建一个新的进程来处理,可以用fork创建子进程来实现,在子进程中要将子进程的标准输出指向accept时得到的文件描述符,这样才可以通信。

Web服务器就是以上所述内容的综合运用,用fork创建子进程来处理客户端不同的功能请求,有更复杂的通信协议,但基本架构与其他服务器相同。Web服务器完成之后,就可以用Web浏览器来访问Web服务器了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐