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

2024-05-01

林群凯_15281209_计科1501_WebServer实验报告(精选1篇)

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

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服务器创建成功!!!

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【林群凯_15281209_计科1501_WebServer实验报告】相关文章:

上一篇:2017年新疆中学教师资格考试(教育心理学)培训班考试考点背诵总结下一篇:跟六一有关的随笔:看见你,看见自己

本站热搜

    相关推荐