02-webgis開(kāi)發(fā)實(shí)踐iserver教程01教學(xué)網(wǎng)絡(luò)基礎(chǔ)知識(shí)_第1頁(yè)
02-webgis開(kāi)發(fā)實(shí)踐iserver教程01教學(xué)網(wǎng)絡(luò)基礎(chǔ)知識(shí)_第2頁(yè)
02-webgis開(kāi)發(fā)實(shí)踐iserver教程01教學(xué)網(wǎng)絡(luò)基礎(chǔ)知識(shí)_第3頁(yè)
02-webgis開(kāi)發(fā)實(shí)踐iserver教程01教學(xué)網(wǎng)絡(luò)基礎(chǔ)知識(shí)_第4頁(yè)
02-webgis開(kāi)發(fā)實(shí)踐iserver教程01教學(xué)網(wǎng)絡(luò)基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、北京超圖軟件股份有限公司W(wǎng)ebGISWebGIS處理流程處理流程n 用于處理GIS相關(guān)功能請(qǐng)求的web服務(wù)器Web Server GIS ServerGIS DataBaseBrowseMap Request尋找對(duì)應(yīng)的尋找對(duì)應(yīng)的GIS Server讀取讀取GIS數(shù)據(jù)并數(shù)據(jù)并處理處理Web程序WebWeb應(yīng)用工作原理應(yīng)用工作原理n 采用B/S計(jì)算模式開(kāi)發(fā)的應(yīng)用程序,我們一般稱為Web應(yīng)用程序。n 運(yùn)行一個(gè)完整的Web應(yīng)用程序所需的最基本的組成部分:WebWeb應(yīng)用工作原理應(yīng)用工作原理Web 應(yīng)用程序應(yīng)用程序Web 應(yīng)用程序在 Web 服務(wù)器上運(yùn)行 播放一首歌作為響應(yīng)用戶請(qǐng)求播放一首歌WebWeb

2、應(yīng)用工作原理應(yīng)用工作原理n 把請(qǐng)求(請(qǐng)求就是一個(gè)網(wǎng)址)發(fā)送到服務(wù)器端響應(yīng)的Web應(yīng)用程序(靜態(tài)網(wǎng)頁(yè)和動(dòng)態(tài)網(wǎng)頁(yè)), Web程序接收請(qǐng)求后進(jìn)行相關(guān)處理,并由Web程序把結(jié)果以文本或網(wǎng)頁(yè)的形式,返回到瀏覽器。n 因此當(dāng)訪問(wèn)Web站點(diǎn)時(shí),我們所看到的所有內(nèi)容都是在瀏覽器中顯示的。n 在HTTP協(xié)議和B/S結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)WebWeb三要素三要素語(yǔ)言語(yǔ)言-服務(wù)器端: Servlet、JSP、 ASP、C#-客戶端: javascript、 vbscript-平臺(tái): J2EE、.NET資源資源-文件、-圖片、-數(shù)據(jù)、-程序、-音頻、-視頻協(xié)議協(xié)議-協(xié)議:規(guī)則、約定與標(biāo)準(zhǔn) 語(yǔ)法 對(duì)于數(shù)據(jù)結(jié)構(gòu)形式的規(guī)定 語(yǔ)義

3、 對(duì)于協(xié)議元素含義的解釋 同步 程序流程-HTTPURLHTMLHTTP協(xié)議協(xié)議HTTPHTTP協(xié)議協(xié)議n 超文本傳輸協(xié)議(Hypertext Transfer Protocol)n 用于在服務(wù)器和客戶機(jī)之間傳輸超文本文件。n HTTP是一個(gè)基于請(qǐng)求/響應(yīng)模式的,HTTP是一個(gè)應(yīng)用層協(xié)議,由請(qǐng)求和響應(yīng)構(gòu)成,是一個(gè)標(biāo)準(zhǔn)的客戶端服務(wù)器模型n HTTP 的連接建立,就是利用傳輸層的TCP協(xié)議來(lái)完成的。一方等待,一方發(fā)起連接。n HTTP是一個(gè)無(wú)狀態(tài)的協(xié)議HTTPHTTP協(xié)議發(fā)展史協(xié)議發(fā)展史n HTTP/0.9:從1990年就已經(jīng)用來(lái)作為WWW的傳輸協(xié)議,當(dāng)時(shí)非常簡(jiǎn)單,只支持GET方法,響應(yīng)中攜帶的消

4、息必須HTML文件n HTTP/1.0:1996發(fā)布RFC1945,90年后,基于0.9的各種客戶端和服務(wù)端的擴(kuò)展層出不窮,把這些擴(kuò)展進(jìn)行綜合推出新標(biāo)準(zhǔn)HTTP/1.0 n HTTP/1.1: 1997推出RFC2068,HTTP/1.1的標(biāo)準(zhǔn)n HTTP/1.1: 1999推出RFC2616,廢棄了RFC2068標(biāo)準(zhǔn)n HTTP/1.1和HTTP 1.0比較,主要改進(jìn)的是性能、安全和數(shù)據(jù)處理方面。HTTPHTTP協(xié)議協(xié)議- -特點(diǎn)特點(diǎn)HTTP協(xié)議特點(diǎn)HTTPHTTP協(xié)議協(xié)議- -運(yùn)作方式運(yùn)作方式建立TCP連接請(qǐng)求 與 響應(yīng)關(guān)閉TCP連接HTTP HTTP 協(xié)議協(xié)議- -消息類型消息類型n H

5、TTP的消息類型n 請(qǐng)求(Request)消息:由客戶端發(fā)給服務(wù)器的消息。其組成包括:請(qǐng)求行(Request-Line),可選的頭域 (Header Field ),及實(shí)體(Entity-Body)。n 響應(yīng)(Response)消息:是服務(wù)端回復(fù)客戶端請(qǐng)求的消息,其組成包括狀態(tài)行(Status-Line),可選的頭域 (Header Field ),及實(shí)體(Entity-Body)。HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求消息結(jié)構(gòu)請(qǐng)求消息結(jié)構(gòu)Request lineRequest header空行空行body請(qǐng)求的方法請(qǐng)求的資源HTTP版本HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求消息結(jié)構(gòu)請(qǐng)求消息結(jié)構(gòu)請(qǐng)求格

6、式請(qǐng)求格式格式格式Request line請(qǐng)求消息請(qǐng)求消息請(qǐng)求方法 請(qǐng)求內(nèi)容 Request header頭域頭域頭域由一個(gè)名字、冒號(hào)(:)和域值三部分組成。名字是大小寫無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開(kāi)始處,使用至少一個(gè)空格或制表符??招锌招谢剀嚀Q行符Body體(可選)體(可選)數(shù)據(jù),格式和長(zhǎng)度由頭域中指定(Content-Typ和Content-length)HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求消息請(qǐng)求消息n 示例n Request lineRequest header空行bodyGet方法body為空HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求消息請(qǐng)求消息n 示例

7、n 博客園 Request lineRequest header空行bodyHTTPHTTP協(xié)議協(xié)議- -請(qǐng)求方法請(qǐng)求方法最基本方法查改增刪HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求方法請(qǐng)求方法n GET方法n 用于獲取由Request-URI所標(biāo)識(shí)的資源的信息。當(dāng)我們通過(guò)在瀏覽器的地址欄中直接輸入網(wǎng)址的方式去訪問(wèn)網(wǎng)頁(yè)的時(shí)候,瀏覽器采用的是GET方法向服務(wù)器獲取資源。檢索信息時(shí)使用GET方法,要檢索的信息稱為查詢字符串,如: ne_dg查詢字符串(240-255個(gè)字符)HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求方法請(qǐng)求方法n POST方法n POST方法用于向目的服務(wù)器發(fā)出請(qǐng)求,要求服務(wù)器接受附在請(qǐng)求后面的數(shù)

8、據(jù),且對(duì)發(fā)送的數(shù)據(jù)的量沒(méi)有限制n POST方法用于傳輸敏感數(shù)據(jù),如用戶密碼,銀行帳號(hào)等HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求頭域請(qǐng)求頭域n Cachen Clientn Cookies/Loginn Miscellaneousn TransportHTTPHTTP協(xié)議協(xié)議- -請(qǐng)求頭域請(qǐng)求頭域CacheCachen If-Modified-Sincen 作用: 把瀏覽器端緩存頁(yè)面的最后修改時(shí)間發(fā)送到服務(wù)器去,服務(wù)器會(huì)把這個(gè)時(shí)間與服務(wù)器上實(shí)際文件的最后修改時(shí)間進(jìn)行對(duì)比。如果時(shí)間一致,那么返回304,客戶端就直接使用本地緩存文件。如果時(shí)間不一致,就會(huì)返回200和新的文件內(nèi)容??蛻舳私拥街螅瑫?huì)丟棄舊文

9、件,把新文件緩存起來(lái),并顯示在瀏覽器中HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求頭域請(qǐng)求頭域CacheCachen If-None-Matchn 作用: If-None-Match和ETag一起工作,工作原理是在HTTP Response中添加ETag信息。 當(dāng)用戶再次請(qǐng)求該資源時(shí),將在HTTP Request 中加入If-None-Match信息(ETag的值)。如果服務(wù)器驗(yàn)證資源的ETag沒(méi)有改變(該資源沒(méi)有更新),將返回一個(gè)304狀態(tài)告訴客戶端使用本地緩存文件。否則將返回200狀態(tài)和新的資源和Etag. 使用這樣的機(jī)制將提高網(wǎng)站的性能HTTPHTTP協(xié)議協(xié)議- -請(qǐng)求頭域請(qǐng)求頭域CacheCac

10、hen Cache-Controln 作用:用來(lái)指定Response-Request遵循的緩存機(jī)制。這個(gè)是非常重要的規(guī)則。n 各個(gè)指令含義如下:n Cache-Control:Public 可以被任何緩存所緩存n Cache-Control:Private 內(nèi)容只緩存到私有緩存中n Cache-Control:no-cache 所有內(nèi)容都不會(huì)被緩存HTTPHTTP協(xié)議協(xié)議- -其他常見(jiàn)的請(qǐng)求頭域其他常見(jiàn)的請(qǐng)求頭域頭域類型頭域含義Client Accept告訴服務(wù)器自己接受什么介質(zhì)類型,如text/htmlAccept-Charset申明自己接收的字符集Accept-Encoding申明自己接收

11、的編碼方法Accept-Language數(shù)據(jù),格式和長(zhǎng)度由頭域中指定(Content-Typ和Content-length)User-Agent瀏覽器類型,如果Servlet返回的內(nèi)容與瀏覽器類型有關(guān)則該值非常有用Cookies/LoginCookie客戶端的Cookie,格式是:名稱=值,設(shè)置多個(gè)參數(shù)時(shí)中間用分號(hào)隔開(kāi)。Miscellaneous Referer允許客戶端指定請(qǐng)求的源資源地址,這可以允許服務(wù)器生成回退鏈表,可用來(lái)登陸、優(yōu)化cache等。Transport Host表明URL中的主機(jī)和端口HTTPHTTP協(xié)議協(xié)議- -響應(yīng)消息結(jié)構(gòu)響應(yīng)消息結(jié)構(gòu)Response lineRespon

12、se header空行body原因短語(yǔ)狀態(tài)碼HTTP版本HTTPHTTP協(xié)議協(xié)議- -響應(yīng)消息響應(yīng)消息n 示例n 博客園 Response lineResponse header空行bodyHTTPHTTP協(xié)議協(xié)議- -響應(yīng)的狀態(tài)碼響應(yīng)的狀態(tài)碼HTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 200 OKn 最常見(jiàn)的就是成功響應(yīng)狀態(tài)碼200了, 這表明該請(qǐng)求被成功地完成,所請(qǐng)求的資源發(fā)送回客戶端HTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 302 Foundn 重定向,新的URL會(huì)在response 中的Location中返回,瀏覽器將會(huì)自動(dòng)使用新的URL發(fā)出新的Reque

13、stn 例如在IE中輸入, . HTTP服務(wù)器會(huì)返回304, IE取到Response中Location header的新URL, 又重新發(fā)送了一個(gè)RequestHTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 304 Not Modifiedn 代表上次的文檔已經(jīng)被緩存了, 還可以繼續(xù)使用博客園首頁(yè)如果不想使用本地緩存可以用Ctrl+F5 強(qiáng)制刷新頁(yè)面HTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 304 Not Modifiedn 代表上次的文檔已經(jīng)被緩存了, 還可以繼續(xù)使用博客園首頁(yè)HTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 404 Not Foundn

14、請(qǐng)求資源不存在(輸錯(cuò)了URL)n 例如在地址欄中輸入一個(gè)錯(cuò)誤的URL, http:/ /tesdf.aspxHTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的狀態(tài)碼常見(jiàn)的狀態(tài)碼n 400 Bad Request n 客戶端請(qǐng)求與語(yǔ)法錯(cuò)誤,不能被服務(wù)器所理解n 403 Forbidden n 服務(wù)器收到請(qǐng)求,但是拒絕提供服務(wù)n 500 Internal Server Error n 服務(wù)器發(fā)生了不可預(yù)期的錯(cuò)誤n 503 Server Unavailable n 服務(wù)器當(dāng)前不能處理客戶端的請(qǐng)求,一段時(shí)間后可能恢復(fù)正常HTTPHTTP協(xié)議協(xié)議- -響應(yīng)頭域響應(yīng)頭域n Cachen Entityn Miscella

15、neousHTTPHTTP協(xié)議協(xié)議- -常見(jiàn)的響應(yīng)頭域常見(jiàn)的響應(yīng)頭域頭域類型頭域含義Cache Date生成消息的具體時(shí)間和日期Date: Sat, 11 Feb 2012 11:35:14 GMT Expires瀏覽器會(huì)在指定過(guò)期時(shí)間內(nèi)使用本地緩存Expires: Tue, 08 Feb 2022 11:35:14 GMTCookies/LoginSet-Cookie用于把cookie 發(fā)送到客戶端瀏覽器, 每一個(gè)寫入cookie都會(huì)生成一個(gè)Set-CookieSet-Cookie: sc=4c31523a; path=/; EntityETag和If-None-Match 配合使用ETag

16、: 03f2b33c0bfcc1:0Last-Modified用于指示資源的最后修改日期和時(shí)間Last-Modified: Wed, 21 Dec 2011 09:09:10 GMTLocationLocation用于重定向一個(gè)新的位置, 包含新的URL地址TransportConnection使用的連接方式(持久連接和非持久連接)Connection: keep-alive (持久連接)HTTPHTTP協(xié)議協(xié)議- -區(qū)分區(qū)分n HTTP協(xié)議是無(wú)狀態(tài)的,是否與Connection: keep-alive矛盾n 無(wú)狀態(tài)是指協(xié)議對(duì)于事務(wù)處理沒(méi)有記憶能力,服務(wù)器不知道客戶端是什么狀態(tài)n 無(wú)狀態(tài)不代表

17、HTTP不能保持TCP連接n Keep-Alive表示當(dāng)一個(gè)網(wǎng)頁(yè)打開(kāi)完成后,客戶端和服務(wù)器之間用于傳輸HTTP數(shù)據(jù)的TCP連接不會(huì)關(guān)閉,如果客戶端再次訪問(wèn)這個(gè)服務(wù)器上的網(wǎng)頁(yè),會(huì)繼續(xù)使用這一條連接n Keep-Alive不會(huì)永久保持連接,它有一個(gè)保持時(shí)間,可以在不同的服務(wù)器軟件(如Apache)中設(shè)定這個(gè)時(shí)間URLURLn 統(tǒng)一資源定位符(Uniform Resource Location)n 格式:n : port abs_pathn 解析如下:n http表示要通過(guò)HTTP協(xié)議來(lái)定位網(wǎng)絡(luò)資源。n host表示合法的Internet主機(jī)域名或IP地址(以點(diǎn)分十進(jìn)制的格式表示)n port用于指定一個(gè)端口號(hào),擁有被請(qǐng)求資源的服務(wù)器主機(jī)監(jiān)聽(tīng)該端口的TCP連接。如果port是空,或者沒(méi)有給出,則使用默認(rèn)的端口號(hào)80。n abs_path指定請(qǐng)求資源的URL,如果URL中沒(méi)有給出abs_path,那么當(dāng)它作為請(qǐng)求URL時(shí),必須以“/”的形式給出。通常,這個(gè)工作瀏覽器自動(dòng)幫我們完成了。URLURL示例示例n 三種形式的URL:n n n n 說(shuō)明:如果輸入第一種URL,瀏覽器會(huì)自動(dòng)將其轉(zhuǎn)換為第二種(

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論