02-webgis开发实践iserver教程01教学网络基础知识_第1页
02-webgis开发实践iserver教程01教学网络基础知识_第2页
02-webgis开发实践iserver教程01教学网络基础知识_第3页
02-webgis开发实践iserver教程01教学网络基础知识_第4页
02-webgis开发实践iserver教程01教学网络基础知识_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京超图软件股份有限公司WebGISWebGIS处理流程处理流程n 用于处理GIS相关功能请求的web服务器Web Server GIS ServerGIS DataBaseBrowseMap Request寻找对应的寻找对应的GIS Server读取读取GIS数据并数据并处理处理Web程序WebWeb应用工作原理应用工作原理n 采用B/S计算模式开发的应用程序,我们一般称为Web应用程序。n 运行一个完整的Web应用程序所需的最基本的组成部分:WebWeb应用工作原理应用工作原理Web 应用程序应用程序Web 应用程序在 Web 服务器上运行 播放一首歌作为响应用户请求播放一首歌WebWeb

2、应用工作原理应用工作原理n 把请求(请求就是一个网址)发送到服务器端响应的Web应用程序(静态网页和动态网页), Web程序接收请求后进行相关处理,并由Web程序把结果以文本或网页的形式,返回到浏览器。n 因此当访问Web站点时,我们所看到的所有内容都是在浏览器中显示的。n 在HTTP协议和B/S结构的基础上实现WebWeb三要素三要素语言语言-服务器端: Servlet、JSP、 ASP、C#-客户端: javascript、 vbscript-平台: J2EE、.NET资源资源-文件、-图片、-数据、-程序、-音频、-视频协议协议-协议:规则、约定与标准 语法 对于数据结构形式的规定 语义

3、 对于协议元素含义的解释 同步 程序流程-HTTPURLHTMLHTTP协议协议HTTPHTTP协议协议n 超文本传输协议(Hypertext Transfer Protocol)n 用于在服务器和客户机之间传输超文本文件。n HTTP是一个基于请求/响应模式的,HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型n HTTP 的连接建立,就是利用传输层的TCP协议来完成的。一方等待,一方发起连接。n HTTP是一个无状态的协议HTTPHTTP协议发展史协议发展史n HTTP/0.9:从1990年就已经用来作为WWW的传输协议,当时非常简单,只支持GET方法,响应中携带的消

4、息必须HTML文件n HTTP/1.0:1996发布RFC1945,90年后,基于0.9的各种客户端和服务端的扩展层出不穷,把这些扩展进行综合推出新标准HTTP/1.0 n HTTP/1.1: 1997推出RFC2068,HTTP/1.1的标准n HTTP/1.1: 1999推出RFC2616,废弃了RFC2068标准n HTTP/1.1和HTTP 1.0比较,主要改进的是性能、安全和数据处理方面。HTTPHTTP协议协议- -特点特点HTTP协议特点HTTPHTTP协议协议- -运作方式运作方式建立TCP连接请求 与 响应关闭TCP连接HTTP HTTP 协议协议- -消息类型消息类型n H

5、TTP的消息类型n 请求(Request)消息:由客户端发给服务器的消息。其组成包括:请求行(Request-Line),可选的头域 (Header Field ),及实体(Entity-Body)。n 响应(Response)消息:是服务端回复客户端请求的消息,其组成包括状态行(Status-Line),可选的头域 (Header Field ),及实体(Entity-Body)。HTTPHTTP协议协议- -请求消息结构请求消息结构Request lineRequest header空行空行body请求的方法请求的资源HTTP版本HTTPHTTP协议协议- -请求消息结构请求消息结构请求格

6、式请求格式格式格式Request line请求消息请求消息请求方法 请求内容 Request header头域头域头域由一个名字、冒号(:)和域值三部分组成。名字是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。空行空行回车换行符Body体(可选)体(可选)数据,格式和长度由头域中指定(Content-Typ和Content-length)HTTPHTTP协议协议- -请求消息请求消息n 示例n Request lineRequest header空行bodyGet方法body为空HTTPHTTP协议协议- -请求消息请求消息n 示例

7、n 博客园 Request lineRequest header空行bodyHTTPHTTP协议协议- -请求方法请求方法最基本方法查改增删HTTPHTTP协议协议- -请求方法请求方法n GET方法n 用于获取由Request-URI所标识的资源的信息。当我们通过在浏览器的地址栏中直接输入网址的方式去访问网页的时候,浏览器采用的是GET方法向服务器获取资源。检索信息时使用GET方法,要检索的信息称为查询字符串,如: ne_dg查询字符串(240-255个字符)HTTPHTTP协议协议- -请求方法请求方法n POST方法n POST方法用于向目的服务器发出请求,要求服务器接受附在请求后面的数

8、据,且对发送的数据的量没有限制n POST方法用于传输敏感数据,如用户密码,银行帐号等HTTPHTTP协议协议- -请求头域请求头域n Cachen Clientn Cookies/Loginn Miscellaneousn TransportHTTPHTTP协议协议- -请求头域请求头域CacheCachen If-Modified-Sincen 作用: 把浏览器端缓存页面的最后修改时间发送到服务器去,服务器会把这个时间与服务器上实际文件的最后修改时间进行对比。如果时间一致,那么返回304,客户端就直接使用本地缓存文件。如果时间不一致,就会返回200和新的文件内容。客户端接到之后,会丢弃旧文

9、件,把新文件缓存起来,并显示在浏览器中HTTPHTTP协议协议- -请求头域请求头域CacheCachen If-None-Matchn 作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 当用户再次请求该资源时,将在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服务器验证资源的ETag没有改变(该资源没有更新),将返回一个304状态告诉客户端使用本地缓存文件。否则将返回200状态和新的资源和Etag. 使用这样的机制将提高网站的性能HTTPHTTP协议协议- -请求头域请求头域CacheCac

10、hen Cache-Controln 作用:用来指定Response-Request遵循的缓存机制。这个是非常重要的规则。n 各个指令含义如下:n Cache-Control:Public 可以被任何缓存所缓存n Cache-Control:Private 内容只缓存到私有缓存中n Cache-Control:no-cache 所有内容都不会被缓存HTTPHTTP协议协议- -其他常见的请求头域其他常见的请求头域头域类型头域含义Client Accept告诉服务器自己接受什么介质类型,如text/htmlAccept-Charset申明自己接收的字符集Accept-Encoding申明自己接收

11、的编码方法Accept-Language数据,格式和长度由头域中指定(Content-Typ和Content-length)User-Agent浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用Cookies/LoginCookie客户端的Cookie,格式是:名称=值,设置多个参数时中间用分号隔开。Miscellaneous Referer允许客户端指定请求的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。Transport Host表明URL中的主机和端口HTTPHTTP协议协议- -响应消息结构响应消息结构Response lineRespon

12、se header空行body原因短语状态码HTTP版本HTTPHTTP协议协议- -响应消息响应消息n 示例n 博客园 Response lineResponse header空行bodyHTTPHTTP协议协议- -响应的状态码响应的状态码HTTPHTTP协议协议- -常见的状态码常见的状态码n 200 OKn 最常见的就是成功响应状态码200了, 这表明该请求被成功地完成,所请求的资源发送回客户端HTTPHTTP协议协议- -常见的状态码常见的状态码n 302 Foundn 重定向,新的URL会在response 中的Location中返回,浏览器将会自动使用新的URL发出新的Reque

13、stn 例如在IE中输入, . HTTP服务器会返回304, IE取到Response中Location header的新URL, 又重新发送了一个RequestHTTPHTTP协议协议- -常见的状态码常见的状态码n 304 Not Modifiedn 代表上次的文档已经被缓存了, 还可以继续使用博客园首页如果不想使用本地缓存可以用Ctrl+F5 强制刷新页面HTTPHTTP协议协议- -常见的状态码常见的状态码n 304 Not Modifiedn 代表上次的文档已经被缓存了, 还可以继续使用博客园首页HTTPHTTP协议协议- -常见的状态码常见的状态码n 404 Not Foundn

14、请求资源不存在(输错了URL)n 例如在地址栏中输入一个错误的URL, http:/ /tesdf.aspxHTTPHTTP协议协议- -常见的状态码常见的状态码n 400 Bad Request n 客户端请求与语法错误,不能被服务器所理解n 403 Forbidden n 服务器收到请求,但是拒绝提供服务n 500 Internal Server Error n 服务器发生了不可预期的错误n 503 Server Unavailable n 服务器当前不能处理客户端的请求,一段时间后可能恢复正常HTTPHTTP协议协议- -响应头域响应头域n Cachen Entityn Miscella

15、neousHTTPHTTP协议协议- -常见的响应头域常见的响应头域头域类型头域含义Cache Date生成消息的具体时间和日期Date: Sat, 11 Feb 2012 11:35:14 GMT Expires浏览器会在指定过期时间内使用本地缓存Expires: Tue, 08 Feb 2022 11:35:14 GMTCookies/LoginSet-Cookie用于把cookie 发送到客户端浏览器, 每一个写入cookie都会生成一个Set-CookieSet-Cookie: sc=4c31523a; path=/; EntityETag和If-None-Match 配合使用ETag

16、: 03f2b33c0bfcc1:0Last-Modified用于指示资源的最后修改日期和时间Last-Modified: Wed, 21 Dec 2011 09:09:10 GMTLocationLocation用于重定向一个新的位置, 包含新的URL地址TransportConnection使用的连接方式(持久连接和非持久连接)Connection: keep-alive (持久连接)HTTPHTTP协议协议- -区分区分n HTTP协议是无状态的,是否与Connection: keep-alive矛盾n 无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态n 无状态不代表

17、HTTP不能保持TCP连接n Keep-Alive表示当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条连接n Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间URLURLn 统一资源定位符(Uniform Resource Location)n 格式:n : port abs_pathn 解析如下:n http表示要通过HTTP协议来定位网络资源。n host表示合法的Internet主机域名或IP地址(以点分十进制的格式表示)n port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。如果port是空,或者没有给出,则使用默认的端口号80。n abs_path指定请求资源的URL,如果URL中没有给出abs_path,那么当它作为请求URL时,必须以“/”的形式给出。通常,这个工作浏览器自动帮我们完成了。URLURL示例示例n 三种形式的URL:n n n n 说明:如果输入第一种URL,浏览器会自动将其转换为第二种(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论