web工作原理.docx

上传人:小飞机 文档编号:3168898 上传时间:2023-03-11 格式:DOCX 页数:5 大小:39.99KB
返回 下载 相关 举报
web工作原理.docx_第1页
第1页 / 共5页
web工作原理.docx_第2页
第2页 / 共5页
web工作原理.docx_第3页
第3页 / 共5页
web工作原理.docx_第4页
第4页 / 共5页
web工作原理.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《web工作原理.docx》由会员分享,可在线阅读,更多相关《web工作原理.docx(5页珍藏版)》请在三一办公上搜索。

1、web工作原理WEB浏览器工作原理 WWW 的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议进行通信, HTTP协议的作用原理包括四个步骤:连接,请求,应答,关闭。 根据上述HTTP协议的作用原理,本文实现了GET请求的Web服务器程序的方法: Web服务器程序通过创建 TcpListener类对象,监听端口8080默认的端口), 等待、接受客户机连接到端口8080;创建与socket字相关联的输入流和输出流;然后,当客户端web浏览器发出请求时,Web服务器读取客户机的请求信息,若请求类型是GET,则从请求信息中获取所访问的

2、HTML文件名,如果HTML文件存在, 则打开HTML文件,把HTTP头信息和 HTML文件内容通过socket传回给Web浏览器,然后关闭文件。否则发送错误信息给Web浏览器。最后,关闭与相应Web浏览器连接的socket 字。 一、HTTP协议的作用原理 WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是 Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务 器)构成,两者之间采用超文本传送协议进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的

3、、面向对象的协议。Web最基本的概念是超文本。它使得文本不再是传统的书页式文本,而是可以在阅读过程中从一个页面位置跳转到另一个页面位置。用来书写Web页面的语言称为超文本标记语言,即HTML。WWW服务遵从HTTP协议,默认的TCP/IP端口是80,HTTP协议的作用原理包括四个步骤: 连接:Web浏览器与Web服务器建立连接,打开一个称为socket的虚拟文 件,此文件的建立标志着连接建立成功。 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令。GET命令的格式为: GET 路径/文件名 HTTP/1.0 文件名指出所访问的文件, HTTP/

4、1.0指出Web浏览器使用的HTTP版本。 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后, 进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出1 所请求的页面。 例:假设客户机与:8080/mydir/index.html建立了连接,就会发 送GET命令: GET /mydir/index.html HTTP/1.0。主机名为的Web服务器从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器 把该文件内容传送给相应的Web浏览器。 为了告知 Web浏览器传送内容的类型,Web服务器首

5、先传送一些HTTP头信息,然后传送具体内容,HTTP头信息和HTTP体信息之间用一个空行分开。 常用的HTTP头信息有: HTTP 1.0 200 OK 这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码 “200 OK”表示请求完成。 MIME_Version:1.0 它指示MIME类型的版本。 content_type:类型 这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html 指示传送的数据是HTML文档。 content_length:长度值 它指示HTTP体信息的长度。 关闭连接:当应答结束后,Web浏

6、览器与Web服务器必须断开,以保证其它Web浏览器 能够与Web服务器建立连接。 二、 Java 实 现Web 服 务 器 功 能 的 程 序 设 计 根 据 上 述HTTP 协 议 的 作 用 原 理, 实 现GET 请 求 的Web 服 务 器 程 序 的 方 法 如 下: 1. 创 建ServerSocket 类 对 象, 监 听 端 口8080。 这 是 为 了 区 别 于HTTP 的 标 准TCP/IP 端 口80 而 取 的; 2.等 待、 接 受 客 户 机 连 接 到 端 口8080, 得 到 与 客 户 机 连 接 的socket; 3. 创 建 与socket 字 相 关

7、联 的 输 入 流instream 和 输 出 流outstream; 4. 从 与socket 关 联 的 输 入 流instream 中 读 取 一 行 客 户 机 提 交 的 请 求 信 息, 请 求 信 息 的 格 式 为:GET 路 径/ 文 件 名 HTTP/1.0 5. 从 请 求 信 息 中 获 取 请 求 类 型。 如 果 请 求 类 2 型 是GET, 则 从 请 求 信 息 中 获 取 所 访 问 的HTML 文 件 名。 没 有HTML 文 件 名 时, 则 以index.html 作 为 文 件 名; 6.如 果HTML 文 件 存 在, 则 打 开HTML 文 件,

8、 把HTTP 头 信 息 和HTML 文 件 内 容 通 过socket 传 回 给Web 浏 览 器, 然 后 关 闭 文 件。 否 则 发 送 错 误 信 息 给Web 浏 览 器; 7. 关 闭 与 相 应Web 浏 览 器 连 接 的socket 字。 下 面 的 程 序 是 根 据 上 述 方 法 编 写 的、 可 实 现 多 线 程 的Web 服 务 器, 以 保 证 多 个 客 户 机 能 同 时 与 该Web 服 务 器 连 接。 . . . 程 序 中 的ConnectionThread 线 程 子 类 用 来 分 析 一 个Web 浏 览 器 提 交 的 请 求, 并 将

9、应 答 信 息 传 回 给Web 浏 览 器。 其 中,getrequest 方 法 用 来 检 测 客 户 的 请 求 是 否 为GET;getfilename(s) 方 法 是 从 客 户 请 求 信 息s 中 获 取 要 访 问 的HTML 文 件 名;sendfile 方 法 把 指 定 文 件 内 容 通 过socket 传 回 给Web 浏 览 器。 对 上 述 程 序 的getrequest 方 法 和 相 关 部 分 作 修 改, 也 能 对POST 请 求 进 行 处 理。 三、 运 行 实 例 为 了 测 试 上 述 程 序 的 正 确 性, 将 编 译 后 的WebSer

10、ver.class、ConnectionThread.class 和 下 面 的index.html 文 件 置 于 网 络 的 某 台 主 机 的 同 一 目 录 中。 超文本(Hypertext)是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户介面范式,用以显示文本及与文本之间相关的内容。现时超文本普遍以电子文档方式存在,其中的文字包含有可以链结到其他位置或者文档的连结,允许从当前阅读位置直接切换到超文本连结所指向的位置。超文本的格式有很多,目前最常使用的是超文本标记语言(Hyper Text Markup Language,HTML)及富文本格式 (Ri

11、ch Text Format,RTF)。 客户端和Web服务器建立TCP连接 下面是一个客户端发送给Web服务器请求的数据包的内容: GET /engineer/ideal/list.htm HTTP/1.1 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */* 3 Accept-Language: zh-cn Accept-Encoding: gzip, defla

12、te User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Host: Connection: Keep-Alive 从代码中可以看到,在客户端的请求里包含了很多有用的信息,如客户端类型等。Web服务器会将请求的Web页内容发送返回给客户端。HTTP/1.1说明:HTTP/1.1是HTTP协议的最新版本。HTTP协议是运行在TCP/IP协议组上的万维网应用协议。HTTP/1.1提供了比前一版本更快的访问网站速度,同时针对网络资源进行优化,降低了网络流量。HTTP/1.1由互联网工程任务组开发。现在大部分服务器和网站都支持H

13、TTP/1.1协议。 下面是一些HTTP/1.1能够加快网页访问速度的原因。 以往的HTTP协议每次访问应用程序时,都会进行创立及撤销链接的步骤。HTTP/1.1在首次访问网站时建立持久链接,将多个请求批量或通过管道发送到输出缓冲区内。TCP协议允许将多个来自IP层的数据包请求或回复命令集中到一个TCP段中。因此减少了反复建立链接所需的时间,同时由于没有了不必要的申请链接数据包,也降低了网络流量。由于将命令通过管道输送,大大提高了TCP段的效率。总之,网络流量降低了,性能提高了。 当支持HTTP/1.1的浏览器发现网页是未压缩网页时,会将网页进行压缩后进行传输,这样可以节约更多流量空间,不过由于网页中的图片文件一般都已经被压缩过,因此,这种压缩对图片多的网页不太有效。除持久链接及其他改进后的性能之外,HTTP/1.1还允许多个域名共享同一IP地址。这简化了网络服务器对虚拟主机数目管理的处理量。 4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号