1 实验目的
1) 掌握Java Socket编程应用;
2) 阅读HTTP协议相关规范;
3) 基于Java Socket构建简单的HTTP的客户端和服务器;
4) 构建支持并发的HTTP服务器。
资源在底部下载
2 实验内容
1) 阅读RFC1945和RFC2068文档。
了解HTTP/1.0和HTTP/1.1的相关规范和标准,对比HTTP/1.0和HTTP/1.1的区别。
2) 完善HTTP客户端代码。
代码Client.java和HTTPClient.java实现了基于命令行的HTTP客户端的GET请求的功能。将服务器地址(域名或IP地址)设置为启动参数,如www.nwpu.edu.cn,启动客户端后,将建立到服务器80端口的TCP连接,用户可通过控制台输入GET命令实现服务器资源的请求。
请完善HTTPClient中的processPutRequest方法使其支持PUT命令。为了简化操作,可直接将客户端运行环境的某文件(如face.jpg)PUT到服务器指定的路径,如:PUT /face.jpg HTTP/1.0。
提示:PUT请求时Header中必须包含“Content-Length”项。
3) 构建单线程的HTTP服务器。
编写HTTP服务器,创建一个端口号为80的套接字,并等待传入的请求。服务器只需成功地响应使用GET和PUT方法的请求,但对其他所有请求(有效的或无效的)的都应返回RFC指定的响应。在任何情况下确保服务器不