Web服務(wù)與應(yīng)用開發(fā) PPT 4、4-1HTTP(webService學(xué)習(xí)快速入門)_第1頁
Web服務(wù)與應(yīng)用開發(fā) PPT 4、4-1HTTP(webService學(xué)習(xí)快速入門)_第2頁
Web服務(wù)與應(yīng)用開發(fā) PPT 4、4-1HTTP(webService學(xué)習(xí)快速入門)_第3頁
Web服務(wù)與應(yīng)用開發(fā) PPT 4、4-1HTTP(webService學(xué)習(xí)快速入門)_第4頁
Web服務(wù)與應(yīng)用開發(fā) PPT 4、4-1HTTP(webService學(xué)習(xí)快速入門)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1

HTTP簡介定義HTTP是什么?HTTP是怎樣工作的HTTP協(xié)議基礎(chǔ)2HTTP:超文本傳輸協(xié)議(HypertextTransferProtocol)

一.定義3二.HTTP是什么?

當(dāng)我們想瀏覽一個(gè)網(wǎng)站的時(shí)候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:,你知道為什么會(huì)多出一個(gè)“http”嗎?我們在瀏覽器的地址欄里輸入的網(wǎng)站地址叫做URL(UniformResourceLocator,統(tǒng)一資源定位符)。就像每家每戶都有一個(gè)門牌地址一樣,每個(gè)網(wǎng)頁也都有一個(gè)Internet地址。當(dāng)你在瀏覽器的地址框中輸入一個(gè)URL或是單擊一個(gè)超級鏈接時(shí),URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(HTTP),將Web服務(wù)器上站點(diǎn)的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識(shí)HTTP之前,有必要先弄清楚URL的組成,例如:/china/index.htm。它的含義如下:

1.http://:代表超文本傳輸協(xié)議,通知服務(wù)器顯示W(wǎng)eb頁,通常不用輸入;

2.www:代表一個(gè)Web(萬維網(wǎng))服務(wù)器;

3./:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點(diǎn)服務(wù)器的名稱;

4.China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;

5.Index.htm:index.htm是文件夾中的一個(gè)HTML文件(網(wǎng)頁)。4

我們知道,Internet的基本協(xié)議是TCP/IP協(xié)議,然而在TCP/IP模型最上層的是應(yīng)用層(Applicationlayer),它包含所有高層的協(xié)議。高層協(xié)議有:文件傳輸協(xié)議FTP、電子郵件傳輸協(xié)議SMTP、域名系統(tǒng)服務(wù)DNS、網(wǎng)絡(luò)新聞傳輸協(xié)議NNTP和HTTP協(xié)議等。HTTP協(xié)議(HyperTextTransferProtocol,超文本傳輸協(xié)議)是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。它不僅保證計(jì)算機(jī)正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以http://開頭的原因。

當(dāng)決定使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴(kuò)展,目前在WWW中使用的是HTTP/1.0的第六版。5三.HTTP是怎樣工作的

一次HTTP操作稱為一個(gè)事務(wù),其工作過程可分為四步:

1.首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級鏈接,HTTP

的工作就開始了。

2.建立連接后,客戶機(jī)發(fā)送一個(gè)請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號,后邊是MIME信息包括請求修飾符、客戶機(jī)信息和可能的內(nèi)容。

3.服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號、一個(gè)成功或錯(cuò)誤的代碼,后邊是MIME信息包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容。

4.客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。

如果在以上過程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端,由顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標(biāo)點(diǎn)擊,等待信息顯示就可以了。6許多HTTP通訊是由一個(gè)用戶代理初始化的并且包括一個(gè)申請?jiān)谠捶?wù)器上資源的請求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個(gè)單獨(dú)的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。TCP只預(yù)示著一個(gè)可靠的傳輸。這個(gè)過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什么規(guī)格的商品,然后商家再告訴我們什么商品有貨,什么商品缺貨。這些,我們是通過電話線用電話聯(lián)系(HTTP是通過TCP/IP),當(dāng)然我們也可以通過傳真,只要商家那邊也有傳真。7

以上簡要介紹了HTTP協(xié)議的宏觀運(yùn)作方式,下面介紹一下HTTP協(xié)議的內(nèi)部操作過程。在WWW中,“客戶”與“服務(wù)器”是一個(gè)相對的概念,只存在于一個(gè)特定的連接期間,即在某個(gè)連接中的客戶在另一個(gè)連接中可能作為服務(wù)器?;贖TTP協(xié)議的客戶/服務(wù)器模式的信息交換過程,它分四個(gè)過程:建立連接、發(fā)送請求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。其實(shí)簡單說就是任何服務(wù)器除了包括HTML文件以外,還有一個(gè)HTTP駐留程序,用于響應(yīng)用戶請求。瀏覽器是HTTP客戶,向服務(wù)器發(fā)送請求,當(dāng)瀏覽器中輸入了一個(gè)開始文件或點(diǎn)擊了一個(gè)超級鏈接時(shí),瀏覽器就向服務(wù)器發(fā)送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進(jìn)行必要的操作后回送所要求的文件。在這一過程中,在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)已經(jīng)被分成一個(gè)或多個(gè)數(shù)據(jù)包(packet),每個(gè)數(shù)據(jù)包包括:要傳送的數(shù)據(jù);控制信息,即告訴網(wǎng)絡(luò)怎樣處理數(shù)據(jù)包。TCP/IP決定了每個(gè)數(shù)據(jù)包的格式。如果事先不告訴你,你可能不會(huì)知道信息被分成用于傳輸和再重新組合起來的許多小塊。8四.HTTP協(xié)議基礎(chǔ)

HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議的縮寫,它用于傳送WWW方式的數(shù)據(jù)。HTTP協(xié)議采用了請求/響應(yīng)模型??蛻舳讼蚍?wù)器發(fā)送一個(gè)請求,請求頭包含請求的方法、URL、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。9

通常HTTP消息包括客戶機(jī)向服務(wù)器的請求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息。這兩種類型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)指示頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(:)和域值三部分組成。域名是大小寫無關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開始處,使用至少一個(gè)空格或制表符。10HTTP請求客戶端通過發(fā)送HTTP請求向服務(wù)器請求資源的訪問。HTTP請求由三部分組成,分別是請求行,消息報(bào)頭,請求正文。請求行以一個(gè)方法符號開頭,后面跟著請求URI和協(xié)議的版本,以CRLF作為結(jié)尾,請求行以空格分隔,除了作為結(jié)尾的CRLF外,不允許出現(xiàn)單獨(dú)的CR或者LF字符。格式如下:MethodRequest-URIHTTP-VersionCRLF

Method表示請求的方法,Request-URI是一個(gè)統(tǒng)一資源標(biāo)識(shí)符,標(biāo)識(shí)了要請求的資源,HTTP-Version表示請求的HTTP協(xié)議的版本,如:

GET/form.htmlHTTP/1.1(CRLF)11方法作用GET請求獲取由Request-URI所標(biāo)識(shí)的資源POST在Request-URI所標(biāo)識(shí)的資源后附加新的數(shù)據(jù)HEAD

請求Request-URI所標(biāo)識(shí)的資源響應(yīng)消息報(bào)頭PUT請求服務(wù)器存儲(chǔ)一個(gè)資源,并用Request-URI作為其標(biāo)識(shí)DELETE

請求服務(wù)器刪除由Request-URI所標(biāo)識(shí)的資源TRACE

請求服務(wù)器回送收到的請求信息,主要用于測試或診斷CONNECT保留將來使用。OPTIONS請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項(xiàng)和需求。12HTTP響應(yīng)

在接受和解釋請求信息后,服務(wù)器會(huì)返回一個(gè)HTTP響應(yīng)消息。與HTTP請求類似,HTTP響應(yīng)也是由三個(gè)部分組成,分別是:狀態(tài)行,消息報(bào)頭,響應(yīng)正文。狀態(tài)行由協(xié)議版本,數(shù)字形式的狀態(tài)代碼,及相應(yīng)的狀態(tài)描述組成,各元素之間以空格分隔,除了結(jié)尾的CRLF(回車換行)序列外,不允許出現(xiàn)CR或LF字符。格式如下:

HTTP-VersionStatus-CodeReason-PhraseCRLFHTTP-Version表示服務(wù)器HTTP協(xié)議的版本,Status-Code表示服務(wù)器發(fā)回的響應(yīng)代碼,Reason-Phrase表示狀態(tài)代碼的文本描述,CRLF表示回車換行。

如:HTTP/1.1200OK(CRLF)13狀態(tài)代碼由3位數(shù)字組成,表示請求是否被理解或被滿足,狀態(tài)描述了給出狀態(tài)碼的簡短的文本描述。狀態(tài)代碼的第一個(gè)數(shù)字定義了響應(yīng)的類別,后面兩位數(shù)字沒有具體的分類。第一個(gè)數(shù)字有五種可能的取值:1XX:指示信息-表示請求已經(jīng)接收,繼續(xù)處理。

2XX:成功-表示請求已經(jīng)被成功接收、理解、接受。

3XX:重定向-要完成請求必須進(jìn)行更進(jìn)一步的操作。

4XX:客戶端錯(cuò)誤-請求有語法錯(cuò)誤或請求無法實(shí)現(xiàn)。

5XX:服務(wù)端錯(cuò)誤-服務(wù)器未能實(shí)現(xiàn)合法的請求。14HTTP響應(yīng)-狀態(tài)代碼與狀態(tài)描述狀態(tài)代碼

狀態(tài)描述

說明200

ok

客戶端請求成功。

400

badrequest

由于客戶端請求有語法錯(cuò)誤,不能被服務(wù)器所理解。

401

unauthorized

請求未經(jīng)授權(quán)。這個(gè)狀態(tài)代碼必須和www-authenticate報(bào)頭域一起使用。

403

forbidden

服務(wù)器收到請求,但是拒絕提供服務(wù)。服務(wù)器通常會(huì)在響應(yīng)中文中給出不提供服務(wù)的原因。

404

notfound

請求的資源不存在,例如,輸入了錯(cuò)誤的URL15HTTP消息

HTTP消息由客戶端到服務(wù)器的請求和服務(wù)器到客戶端的響應(yīng)組成。請求消息和響應(yīng)消息都是由開始行,消息報(bào)頭(可選的),空行(只有CRLF的行),消息正文(可選的)組成。對于請求消息,開始行就是請求行,對于響應(yīng)消息,開始行就是狀態(tài)行。HTTP消息報(bào)頭包括普通報(bào)頭,請求報(bào)頭,響應(yīng)報(bào)頭,實(shí)體報(bào)頭。

每一個(gè)報(bào)頭域都是由名字+":"+空格+值組成,消息報(bào)頭域的名字是大小寫無關(guān)的。16通用頭域包含請求和響應(yīng)消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。Cache-Control指定請求和響應(yīng)遵循的緩存機(jī)制。Date頭域表示消息發(fā)送的時(shí)間。Pragma頭域用來包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache。17請求頭域允許客戶端向服務(wù)器傳遞關(guān)于請求或者關(guān)于客戶機(jī)的附加信息。請求頭域可能包含下列字段Accept、Accept-Charset、Accept-Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If-Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、Proxy-Authorization、Range、Referer、User-Agent。Host頭域指定請求資源的Intenet主機(jī)和端口號,必須表示請求url的原始服務(wù)器或網(wǎng)關(guān)的位置。HTTP/1.1請求必須包含主機(jī)頭域,否則系統(tǒng)會(huì)以400狀態(tài)碼返回。User-Agent頭域的內(nèi)容包含發(fā)出請求的用戶信息。18響應(yīng)頭域允許服務(wù)器傳遞不能放在狀態(tài)行的附加信息,這些域主要描述服務(wù)器的信息和Request-URI進(jìn)一步的信息。響應(yīng)頭域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。Location響應(yīng)頭用于重定向接收者到一個(gè)新URI地址。Server響應(yīng)頭包含處理請求的原始服務(wù)器的軟件信息。19實(shí)體信息一般由實(shí)體頭域和實(shí)體組成。實(shí)體頭域包含關(guān)于實(shí)體的原信息,實(shí)體頭包括Allow、Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Conte

溫馨提示

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

最新文檔

評論

0/150

提交評論