人人范文网 范文大全

林群凯_15281209_计科1501_WebServer实验报告

发布时间:2020-03-02 16:45:24 来源:范文大全 收藏本文 下载本文 手机版

Windows 环境下用 java 实现 web 服务器

实验报告

一、实验目的

(1)处理一个 http 请求 (2)接收并解析 http 请求

(3)从服务器文件系统中获得被请求的文件 (4)创建一个包括被请求的文件的 http 响应信息

(5)直接发送该信息到客户端

二、实验意义 通过本实验,使学生能够进一步理解 HTTP 协议的技术细节以及 WEB 服务器 的实现原理。

三、实验背景

HTTP 的英文全称是:HyperText Transport Protocol,即超文本传输协议,HTTP 是一个属于应用层的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。 它于 1990 年提出,经过几年的使用与发展,得到不断地完善和扩展。 HTTP 协议的运作方式: HTTP 协议是基于请求/响应模式的。一个客户机与服务器建立连接后,发送一个 请求给服务器,请求方式的格式为,统一资源标识符、协议版本号,后边是 MIME 信息, 包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息, 其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是 MIME 信息包括服务器信息、实体信息和可能的内容。最简单的情况可能是在用户代理(UA)和 源服务器(O)之间通过一个单独的连接来完成(见图 1.1)。

在 Internet 上,HTTP 通讯通常发生在 TCP/IP 连接之上。缺省端口是 TCP 80,但其它的端口也是可用的。 HTTP 协议的内部操作过程: 基于 HTTP 协议的客户/服务器模式的信息交换过程如图 1.2 所示,它分四个过程, 建立连接、发送请求信息、发送响应信息、关闭连接。

在 WWW 中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间, 即在某个连接中的客户在另一个连接中可能作为服务器。WWW 服务器运行时,一直在 TCP80 端口(WWW 的缺省端口)监听,等待连接的出现。 HTTP 协议下客户/服务器模式中信息交换的实现: 1.建立连接 连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一 个端口上,如果成功,就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数 据并通过网络向外传送。 2.发送请求 打开一个连接后,客户机把请求消息送到服务器的停留端口上,完成提出请求动作。 HTTP/1.0 请求消息的格式为: re q u e s tl i n e (状态行) headers ( 0个或有多个)(响应头) b o d y 响应消息=状态行(通用信息头|响应头|实体头) CRLF 〔实体内容〕 状 态 行=HTTP 版本号 状态码 原因叙述 状态码表示响应类型 1×× 保留 2×× 表示请求成功地接收 3×× 为完成请求客户需进一步细化请求 4×× 客户错误 5×× 服务器错误 响应头的信息包括:服务程序名,通知客户请求的 URL 需要认证,请求的资源何 时能使用。 4.关闭连接 客户和服务器双方都可以通过关闭套接字来结束 TCP/IP 对话 附:HTTP 协议状态码含义如下表所示: HTTP 协议状态码的含义 号码 含义 ---------- \"100\" : Continue \"101\" : witching Protocols \"200\" : OK \"201\" : Created \"202\" : Accepted \"203\" : Non-Authoritative Information \"204\" : No Content \"205\" : Reset Content \"206\" : Partial Content \"300\" : Multiple Choices \"301\" : Moved Permanently \"302\" : Found \"303\" : See Other \"304\" : Not Modified \"305\" : Use Proxy \"307\" : Temporary Redirect \"400\" : Bad Request \"401\" : Unauthorized \"402\" : Payment Required \"403\" : Forbidden \"404\" : Not Found 7 \"405\" : Method Not Allowed \"406\" : Not Acceptable \"407\" : Proxy Authentication Required \"408\" : Request Time-out \"409\" : Conflict \"410\" : Gone \"411\" : Length Required \"412\" : Precondition Failed \"413\" : Request Entity Too Large \"414\" : Request-URI Too Large \"415\" : Unsupported Media Type \"416\" : Requested range not satisfiable \"417\" : Expectation Failed \"500\" : Internal Server Error \"501\" : Not Implemented \"502\" : Bad Gateway \"503\" : Service Unavailable \"504\" : Gateway Time-out \"505\" : HTTP Version not supported

四、实验结果

实验指导书里面的步骤是直接用jdk运行java程序,也可以使用eclipse来运行java文件。

在eclipse里面建立三个类,HttpServer,来运行服务器。 Request 来发送请求 Response 来接受相应。

写好的三个java类,

在HttpServer类中,定义了一个路径

System.getProperty(\"user.dir\") + File.separator + \"webroot\";

在工作空间中找到Java工程,新建一个webroot文件夹,

再建立一个html文件。 开始运行java程序:

点击运行

在浏览器中输入http://localhost:8080/aaa.html

Web服务器创建成功!!!!!

计组实验报告要求

林钰凯(材料)

计科导

群林会讲话稿

理赔资料林群

计组实验数据通路实验报告

计控实验报告LED动态显示

生涯导航策划 林凯

0917林凯琳(材料)

计免科工作总结

林群凯_15281209_计科1501_WebServer实验报告
《林群凯_15281209_计科1501_WebServer实验报告.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档