欢迎来到天天文库
浏览记录
ID:12371119
大小:640.50 KB
页数:112页
时间:2018-07-16
《基于java的高效兼容http服务器的研究及实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于Java的高效兼容HTTP服务器的研究及实现目录摘要………………………………………………………………………………………………1一、引言………………………………………………………………………………………4二、HTTP服务器模型……………………………………………………………5(一)﹑超文本传输协议…………………………………………………………………5(二)﹑JavaAPI中网络类包简介……………………………………………………6(三)﹑HTTP客户机与服务器的交互涉及骤…………………………………7(四)﹑HHTP操作的一次事务(Transaction)………………………………8(五)﹑HTTP消
2、息…………………………………………………………………………8三﹑HTTP服务器的兼容性………………………………………………………9四﹑Java实现多线程HTTP服务器设计……………………………………10(一)﹑Java语言网络编程…………………………………………………………10(二)﹑服务器总体设计………………………………………………………………121﹑总体设计的关键点………………………………………………………………122﹑模块设计………………………………………………………………………………123﹑HTTP服务器各类之间关系…………………………………………………14(三)﹑服务器详细设计分析
3、…………………………………………………………151﹑线程重用………………………………………………………………………………152﹑各类和接口的主要功能…………………………………………………………15(四)﹑Java多线程机制的应用………………………………………………………17五﹑HTTP服务器运行………………………………………………………………23六﹑结束语…………………………………………………………………………………24参考文献………………………………………………………………………………………25110一﹑引言SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引,Java语言从一
4、开始就内置了支持网络编程,因此更容易编写网络应用程序;这也是与其他编程语言不同的地方。Java提供了大量类和接口可以处理各种网络协议,共享信息,并行计算,应用程序服务等优秀特点使java技术将会得到广泛的应用。Java是实现定制客户机和服务器的优秀工具,因为它支持多种在网络上发送和接收数据﹑提供服务﹑接收数据﹑调用服务的技术。Java作为一种面向分布式计算机环境语言,提供了完全意义的多线程支持,利用多线程编程接口,可以方便地写出支持多线程的应用程序,这一点也是Java所特有的。随着Internet的普及和Web技术的迅速发展,客户/服务器结构逐渐转向浏览器/服务器方向,Web文本发布具有简洁
5、﹑生动﹑形象等特点,适用于发布信息,开发基于Browser/Server模式的Web数据库信息检索系统得到广泛应用。Web服务基于超文本传输协议(HTTP协议)。Java语言所具有的良好兼容性﹑安全性﹑健壮性及可扩展的跨平台等特性,使得Java成为开发基于B/S模式的Web数据库应用的首选计算机语言。本文使用Java开发一个高效兼容的HTTP服务器原型。(如图一)。110图一HTTP服务器原型该多线程HTTP服务器使用ServerSocket(服务器套接字)运行在服务器专用的TCP端口监听接收来自客户端的请求。当远程主机上的客户Socket试图与指定端口建立连接时,服务器被激活,根据具体情况
6、来确定重用旧线程或生成一个新线程来响应客户端的请求直到该客户退出。服务器的主线程仍然处于监听状态,等待新客户请求。二﹑HTTP服务器模型(一)﹑超文本传输协议(HTTP,HypertextTransferProtocol)是Web浏览器与Web服务器之间通信的标准协议,是个相当详细的协议。位于TCP/IP协议的应用层,具有简单﹑通用﹑无状态﹑灵活﹑无连接及面向对象等特点是互联网中最核心的协议之一。HTTP是RPC式的协议。RPC就是远程调用(RemoteProcedureCall),是请求远程机服务和处理机制。RPC和编程语言中的过程调用相似,基于C/S和B/S模型,它建立在请求/响应(Re
7、quest/Response)的基础上,服务端和客户端可能位于不同的独立系统上,客户端通过TCPSOKET向服务器端口(默认为80)发送包含请求方法﹑URL(是对统一资源定位符(UniformResourceLocator)用来标识Internet上资源的位置。URL类是不能再小的最小类,它扩展Java.lang.Object。)和协议版本信息,请求建立Socket连接,客户的请求通过Socket被服务器接收
此文档下载收益归作者所有