当前位置:首页 > linux实验报告
发送请求,然后服务器返回客户请求的信息。具体过程如下:
客户端: 服务器端:
用户选择一个链接 连接服务器 → 写请求 →
读取应答 ← 挂断 显示应答 html:解析 image:绘图 sound:运行 重复
接收请求 读取请求 处理请求:
目录:显示目录列表 文件:显示内容 .cgi文件:运行 不存在:错误消息 写应答
设计Web服务器所要编写的操作如下: (1)建立服务器
使用socklib.c中的make_server_socket (2)接收请求
使用accept来得到指向客户端的文件描述符。可以使用fdopen使得该文件描述符转换成缓冲流。 (3)读取请求 (4)处理请求 (5)发送应答
Web服务器协议: 客户端(浏览器)与Web服务器之间的交互主要包含客户的请求和服务器的应答。请求和应答的格式在超文本传输协议(HTTP)中有定义。HTTP使用纯文本。可以使用telnet和Web服务器进行交互。Web服务器在端口80监听。下面是两个例子: 第一个例子:
#telnet www.neu.edu.cn 80 Trying 202.118.1.7...
Connected to www.neu.edu.cn. Escape character is '^]'. GET /index.html HTTP/1.0
HTTP/1.0 403 Forbidden Server: squid/2.5.STABLE3 Mime-Version: 1.0
Date: Mon, 21 May 2007 03:15:58 GMT
33
Content-Type: text/html Content-Length: 732
Expires: Mon, 21 May 2007 03:15:58 GMT X-Squid-Error: ERR_ACCESS_DENIED 0 X-Cache: MISS from www.neu.edu.cn X-Cache: MISS from www.neu.edu.cn Connection: close
...::: Welcome to NEU WebSite :::...
Generated Mon, 21 May 2007 03:15:58 GMT by www.neu.edu.cn (squid/2.5.STABLE3)