Web服務與應用開發 PPT 4、4-1HTTP(webService學習快速入門)_第1頁
Web服務與應用開發 PPT 4、4-1HTTP(webService學習快速入門)_第2頁
Web服務與應用開發 PPT 4、4-1HTTP(webService學習快速入門)_第3頁
Web服務與應用開發 PPT 4、4-1HTTP(webService學習快速入門)_第4頁
Web服務與應用開發 PPT 4、4-1HTTP(webService學習快速入門)_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1

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

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

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

1.http://:代表超文本傳輸協議,通知服務器顯示Web頁,通常不用輸入;

2.www:代表一個Web(萬維網)服務器;

3./:這是裝有網頁的服務器的域名,或站點服務器的名稱;

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

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

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

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

一次HTTP操作稱為一個事務,其工作過程可分為四步:

1.首先客戶機與服務器需要建立連接。只要單擊某個超級鏈接,HTTP

的工作就開始了。

2.建立連接后,客戶機發送一個請求給服務器,請求方式的格式為:統一資源標識符(URL)、協議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。

3.服務器接到請求后,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務器信息、實體信息和可能的內容。

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

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

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

HTTP(HyperTextTransferProtocol)是超文本傳輸協議的縮寫,它用于傳送WWW方式的數據。HTTP協議采用了請求/響應模型。客戶端向服務器發送一個請求,請求頭包含請求的方法、URL、協議版本、以及包含請求修飾符、客戶信息和內容的類似于MIME的消息結構。服務器以一個狀態行作為響應,相應的內容包括消息協議的版本,成功或者錯誤編碼加上包含服務器信息、實體元信息以及可能的實體內容。9

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

Method表示請求的方法,Request-URI是一個統一資源標識符,標識了要請求的資源,HTTP-Version表示請求的HTTP協議的版本,如:

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

請求Request-URI所標識的資源響應消息報頭PUT請求服務器存儲一個資源,并用Request-URI作為其標識DELETE

請求服務器刪除由Request-URI所標識的資源TRACE

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

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

HTTP-VersionStatus-CodeReason-PhraseCRLFHTTP-Version表示服務器HTTP協議的版本,Status-Code表示服務器發回的響應代碼,Reason-Phrase表示狀態代碼的文本描述,CRLF表示回車換行。

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

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

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

4XX:客戶端錯誤-請求有語法錯誤或請求無法實現。

5XX:服務端錯誤-服務器未能實現合法的請求。14HTTP響應-狀態代碼與狀態描述狀態代碼

狀態描述

說明200

ok

客戶端請求成功。

400

badrequest

由于客戶端請求有語法錯誤,不能被服務器所理解。

401

unauthorized

請求未經授權。這個狀態代碼必須和www-authenticate報頭域一起使用。

403

forbidden

服務器收到請求,但是拒絕提供服務。服務器通常會在響應中文中給出不提供服務的原因。

404

notfound

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

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

每一個報頭域都是由名字+":"+空格+值組成,消息報頭域的名字是大小寫無關的。16通用頭域包含請求和響應消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。Cache-Control指定請求和響應遵循的緩存機制。Date頭域表示消息發送的時間。Pragma頭域用來包含實現特定的指令,最常用的是Pragma:no-cache。17請求頭域允許客戶端向服務器傳遞關于請求或者關于客戶機的附加信息。請求頭域可能包含下列字段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主機和端口號,必須表示請求url的原始服務器或網關的位置。HTTP/1.1請求必須包含主機頭域,否則系統會以400狀態碼返回。User-Agent頭域的內容包含發出請求的用戶信息。18響應頭域允許服務器傳遞不能放在狀態行的附加信息,這些域主要描述服務器的信息和Request-URI進一步的信息。響應頭域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。Location響應頭用于重定向接收者到一個新URI地址。Server響應頭包含處理請求的原始服務器的軟件信息。19實體信息一般由實體頭域和實體組成。實體頭域包含關于實體的原信息,實體頭包括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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論