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

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服务器了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值