HTTP協(xié)議培訓(xùn)_第1頁
HTTP協(xié)議培訓(xùn)_第2頁
HTTP協(xié)議培訓(xùn)_第3頁
HTTP協(xié)議培訓(xùn)_第4頁
HTTP協(xié)議培訓(xùn)_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、HTTPHTTP協(xié)議培訓(xùn)協(xié)議培訓(xùn)Page 2內(nèi)容提要內(nèi)容提要Page 3內(nèi)容提要內(nèi)容提要Page 4Page 5初識初識HTTP協(xié)議協(xié)議 HTTP協(xié)議是什么協(xié)議是什么HTTPHTTP(Hypertext Transfer ProtocolHypertext Transfer Protocol)中文)中文 “超文本傳超文本傳輸協(xié)議輸協(xié)議”,是一種為分布式,合作式,多媒體信息系統(tǒng)是一種為分布式,合作式,多媒體信息系統(tǒng)服務(wù),面向應(yīng)用層的協(xié)議,是服務(wù),面向應(yīng)用層的協(xié)議,是InternetInternet上目前使用最廣上目前使用最廣泛的應(yīng)用層協(xié)議,它基于傳輸層的泛的應(yīng)用層協(xié)議,它基于傳輸層的TCPTCP

2、協(xié)議進(jìn)行通信,協(xié)議進(jìn)行通信,HTTPHTTP協(xié)議是通用的、協(xié)議是通用的、無狀態(tài)的協(xié)議無狀態(tài)的協(xié)議。功能:功能:用于在服務(wù)器和客戶機(jī)之間傳輸超文本文件。用于在服務(wù)器和客戶機(jī)之間傳輸超文本文件。Page 6初識初識HTTP協(xié)議協(xié)議圖例圖例Page 7初識初識HTTP協(xié)議協(xié)議HTTP協(xié)議發(fā)展史協(xié)議發(fā)展史uHTTP/0.9HTTP/0.9:從1990年就已經(jīng)用來作為WWW的傳輸協(xié)議,當(dāng)時非常簡單,只支持GET方法,響應(yīng)中攜帶的消息必須HTML文件。u HTTP/1.0HTTP/1.0:1996發(fā)布RFC1945,90年后,基于0.9的各種客戶端和服務(wù)端的擴(kuò)展層出不窮,把這些擴(kuò) 展進(jìn)行綜合推出新標(biāo)準(zhǔn)HT

3、TP/1.0 。u HTTP/1.1HTTP/1.1: 1997推出RFC2068,HTTP/1.1的標(biāo)準(zhǔn)。u HTTP/1.1HTTP/1.1: 1999推出RFC2616,廢棄了RFC2068標(biāo)準(zhǔn)。Page 8內(nèi)容提要內(nèi)容提要Page 9了解了解HTTP協(xié)議在網(wǎng)絡(luò)中的應(yīng)用協(xié)議在網(wǎng)絡(luò)中的應(yīng)用Page 10內(nèi)容提要內(nèi)容提要Page 11Page 12HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識HTTP的特點的特點 客戶客戶/ /服務(wù)器模式:一個服務(wù)器可以為分布在世界各地服務(wù)器模式:一個服務(wù)器可以為分布在世界各地 的許多客戶服務(wù)。的許多客戶服務(wù)。 簡單:簡單:HTTPHTTP本身處理簡單本身處理簡單, ,有

4、效地處理大量請求,有效地處理大量請求,HTTP HTTP 服務(wù)器程序規(guī)模小,所以經(jīng)由服務(wù)器程序規(guī)模小,所以經(jīng)由HTTPHTTP的通信速度快的通信速度快, ,與其與其 它協(xié)議相比它協(xié)議相比, ,時間開銷小得多。時間開銷小得多。 靈活靈活: HTTP: HTTP允許傳輸任意類型的數(shù)據(jù)對象,可以通過允許傳輸任意類型的數(shù)據(jù)對象,可以通過Content-typeContent-type來指定數(shù)據(jù)類型。來指定數(shù)據(jù)類型。 無狀態(tài):無狀態(tài):HTTPHTTP是無狀態(tài)的協(xié)議,缺少狀態(tài)記憶是無狀態(tài)的協(xié)議,缺少狀態(tài)記憶, ,運行速運行速 度高度高, ,服務(wù)器應(yīng)答速度較快。服務(wù)器應(yīng)答速度較快。Page 13HTTP協(xié)議

5、基礎(chǔ)知識協(xié)議基礎(chǔ)知識HTTP的事務(wù)處理的事務(wù)處理HTTPHTTP定義的事務(wù)處理由以下四步組成定義的事務(wù)處理由以下四步組成: :客戶端與服務(wù)器端建立連接客戶端與服務(wù)器端建立連接客戶端向服務(wù)器端發(fā)送請求客戶端向服務(wù)器端發(fā)送請求服務(wù)器端向客戶端回復(fù)響應(yīng)服務(wù)器端向客戶端回復(fù)響應(yīng)斷開連接斷開連接Page 14HTTP協(xié)議基礎(chǔ)知識消息鏈協(xié)議基礎(chǔ)知識消息鏈HTTPHTTP消息請求響應(yīng)鏈:消息請求響應(yīng)鏈:=request chain =request chain =UA1 - A - B - C - OUA1 - A - B - C - O=response chain=response chain= Pag

6、e 15HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識Proxy(組網(wǎng)圖組網(wǎng)圖)Company IntranetProxy server on firewallRemote Web ServersPage 16HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識HTTP的消息類型的消息類型HTTPHTTP的消息類型共分為兩大類的消息類型共分為兩大類 請求請求(Request)(Request)消息:由客戶端發(fā)給服務(wù)器的消息。消息:由客戶端發(fā)給服務(wù)器的消息。 其組成包括其組成包括: :請求行請求行(Request-Line)(Request-Line),可選的頭域,可選的頭域 (Header Field ) (Header Fi

7、eld ),及實體,及實體( (Entity-BodyEntity-Body) )。 響應(yīng)響應(yīng)(Response)(Response)消息:是服務(wù)端回復(fù)客戶端請求的消消息:是服務(wù)端回復(fù)客戶端請求的消 息,其組成包括狀態(tài)行息,其組成包括狀態(tài)行(Status-Line)(Status-Line),可選的頭域,可選的頭域 (Header Field ) (Header Field ),及實體,及實體( (Entity-BodyEntity-Body) )。Page 17HTTP協(xié)議基礎(chǔ)知識請求消息(消息結(jié)構(gòu))協(xié)議基礎(chǔ)知識請求消息(消息結(jié)構(gòu))請求消息結(jié)構(gòu):請求消息結(jié)構(gòu):Full-Request = R

8、equest-LineFull-Request = Request-Line* *(General-Header(General-Header | Request-Header | Request-Header | Entity-Header) | Entity-Header)CRLFCRLFEntity-BodyEntity-BodyPage 18HTTP協(xié)議基礎(chǔ)知識請求消息(請求行)協(xié)議基礎(chǔ)知識請求消息(請求行)請求行結(jié)構(gòu):請求行結(jié)構(gòu):Request-Line =Request-Line = Method SP Method SP Request-URIRequest-URISP SP H

9、TTP-Version CRLFHTTP-Version CRLF例如:例如:GET http:/ GET http:/ HTTP/1.1HTTP/1.1Page 19HTTP協(xié)議基礎(chǔ)知識請求消息(示例)協(xié)議基礎(chǔ)知識請求消息(示例)請求消息示例:請求消息示例:GET http:/ HTTP/1.1Connection:closeUser-agent:Mozilla/4.0Accept-Encoding:gzip,compressAccept-language:enCR LFEntity-BodyPage 20HTTP協(xié)議基礎(chǔ)知識請求消息(示例)協(xié)議基礎(chǔ)知識請求消息(示例) 這個消息共有5行(每

10、行以一個回車符和一個換行符結(jié)束),最后一行后面還有額外的一個回車符和換行符,以及一個可選的實體。當(dāng)然,一個請求消息可以不止這么多行,也可以僅僅只有一行。請求消息的第一行稱為請求行(request line),后續(xù)各行都稱為報頭行(header)。Page 21HTTP協(xié)議基礎(chǔ)知識請求消息(示例)協(xié)議基礎(chǔ)知識請求消息(示例) 請求行有3個元素:請求方法、URI、HTTP版本,最后以CRLF結(jié)尾,各個元素之間用SP字符隔開。1、請求方法:指出客戶請求服務(wù)器執(zhí)行的一般操作。HTTP/1.1中定義了八種請求方法,其中GET、POST、HEAD、是常用請求方法。2、URI:統(tǒng)一資源標(biāo)識,簡單地講被請求資

11、源所處的地址,如:http:/ 22HTTP協(xié)議基礎(chǔ)知識請求方法協(xié)議基礎(chǔ)知識請求方法方法名方法名備注備注GETGET獲取一個獲取一個URLURL指定的資源指定的資源, ,即資源實體即資源實體HEADHEAD獲取一個指定資源的信息,獲取一個指定資源的信息,POSTPOST向服務(wù)器提交數(shù)據(jù)向服務(wù)器提交數(shù)據(jù)PUTPUT向服務(wù)器提交資源向服務(wù)器提交資源DELETEDELETE請求源服務(wù)器刪除請求源服務(wù)器刪除Request-URIRequest-URI標(biāo)識的資源標(biāo)識的資源TRACETRACE網(wǎng)絡(luò)跟蹤網(wǎng)絡(luò)跟蹤C(jī)ONNECTCONNECT與與PROXYPROXY之間的連接管理之間的連接管理OPTIONSOP

12、TIONS查詢能力查詢能力Page 23HTTP協(xié)議基礎(chǔ)知識請求消息(示例)協(xié)議基礎(chǔ)知識請求消息(示例)現(xiàn)在了解一下本例中的各個報頭:1、Connection:close是在告知服務(wù)器本瀏覽器不想使用永久連接方式(HTTP/1.0使用非永久連接,HTTP/1.1默認(rèn)使用永久連接)。2、User-agent:Mozilla/4.0指定用戶代理服務(wù)器的類型。3、Accept-Encoding:gzip,compress指出發(fā)送此請求的瀏覽器支持哪些壓縮編碼方式。Page 24HTTP協(xié)議基礎(chǔ)知識請求消息(示例)協(xié)議基礎(chǔ)知識請求消息(示例)4、Accept-languag:en指出客戶瀏覽器支持的語

13、言是英語(english),Page 25HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(消息結(jié)構(gòu))協(xié)議基礎(chǔ)知識響應(yīng)消息(消息結(jié)構(gòu))響應(yīng)消息結(jié)構(gòu):響應(yīng)消息結(jié)構(gòu):Full-Response =Full-Response =Status-LineStatus-Line* *(General-Header(General-Header | Response-Header | Response-Header | Entity-Header) | Entity-Header)CRLFCRLFEntity-BodyEntity-Body響應(yīng)消息由狀態(tài)行響應(yīng)消息由狀態(tài)行(status line)(status line)、報

14、頭和實體主體三部、報頭和實體主體三部分組成。分組成。Page 26HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)響應(yīng)消息示例:響應(yīng)消息示例: HTTP/1.1 200 OK Connection:close Date: Thu, 13 Oct 2005 03:17:33 GMT Server: Apache/2.0.54 (Unix) LastNodified:Mon,22 Jun 1998 09;23;24 GMT ContentLength:682l Content-Type:text/htmlPage 27HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(狀態(tài)行)協(xié)議基礎(chǔ)知識響應(yīng)消息(狀態(tài)

15、行)狀態(tài)行結(jié)構(gòu):狀態(tài)行結(jié)構(gòu):Status-Line = Status-Line = HTTP-Version SP HTTP-Version SP Status-Code SP Status-Code SP Reason-Phrase CRLFReason-Phrase CRLF例如:例如: HTTP/1.1 200 OK HTTP/1.1 200 OK 狀態(tài)行由協(xié)議版本、狀態(tài)碼、原因短語狀態(tài)行由協(xié)議版本、狀態(tài)碼、原因短語3 3個元素組成,各個個元素組成,各個元素之間用元素之間用SPSP分隔。狀態(tài)碼字段由三個數(shù)字組成,標(biāo)識客分隔。狀態(tài)碼字段由三個數(shù)字組成,標(biāo)識客戶請求方法的結(jié)果。狀態(tài)碼有戶請求

16、方法的結(jié)果。狀態(tài)碼有5 5種可能的值,如下表所示。種可能的值,如下表所示。Page 28HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)狀態(tài)碼狀態(tài)碼定義定義說明說明1XX1XX信息信息接收到請求,繼續(xù)處理接收到請求,繼續(xù)處理2XX2XX成功成功操作成功地收到,理解和接受操作成功地收到,理解和接受3XX3XX重定向重定向為了完成請求,必須采取進(jìn)一步措施為了完成請求,必須采取進(jìn)一步措施4XX4XX客戶端錯誤客戶端錯誤請求的語法有錯誤或不能完全被滿足。請求的語法有錯誤或不能完全被滿足。5XX5XX服務(wù)端錯誤服務(wù)端錯誤服務(wù)器無法完成明顯有效的請求。服務(wù)器無法完成明顯有效的請求。Page

17、 29HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)1 1、DateDate:Thu, 13 Oct 2005 03:17:33 GMTThu, 13 Oct 2005 03:17:33 GMT指出服務(wù)器創(chuàng)指出服務(wù)器創(chuàng)建并發(fā)送本響應(yīng)消息的日期和時間。建并發(fā)送本響應(yīng)消息的日期和時間。HTTPHTTP允許下面三種允許下面三種不同格式的日期不同格式的日期/ /時間,但必須是格林尼治標(biāo)準(zhǔn)時間:時間,但必須是格林尼治標(biāo)準(zhǔn)時間:HTTP-date=rfc1123-date|rfc-850-date| asctime-dateHTTP-date=rfc1123-date|rfc-850-d

18、ate| asctime-date2 2、ServerServer:Apache/2.0.54 (Unix)Apache/2.0.54 (Unix)指出本消息是由指出本消息是由ApacheApache服務(wù)器產(chǎn)生的,服務(wù)器版本為服務(wù)器產(chǎn)生的,服務(wù)器版本為2.0.542.0.54,3 3、LastNodifiedLastNodified: Mon,22 Jun 1998 09;23;24 GMTMon,22 Jun 1998 09;23;24 GMT指指出對象本身的創(chuàng)建或最后修改日期或時間。出對象本身的創(chuàng)建或最后修改日期或時間。Page 30HTTP協(xié)議基礎(chǔ)知識響應(yīng)消息(示例)協(xié)議基礎(chǔ)知識響應(yīng)消息

19、(示例)LastNodified:LastNodified:報頭項對于對象的高速緩存至關(guān)重要,且報頭項對于對象的高速緩存至關(guān)重要,且不論這種高速緩存是發(fā)生在本地客戶主機(jī)上還是發(fā)生在網(wǎng)不論這種高速緩存是發(fā)生在本地客戶主機(jī)上還是發(fā)生在網(wǎng)絡(luò)高速緩存服務(wù)器主機(jī)絡(luò)高速緩存服務(wù)器主機(jī)( (也就是代理服務(wù)器主機(jī)也就是代理服務(wù)器主機(jī)) )上。上。5 5、ContentLengthContentLength:682l682l指出所發(fā)送對象的字節(jié)數(shù)。指出所發(fā)送對象的字節(jié)數(shù)。6 6、ContentTypeContentType:text/htmltext/html指出包含在實體中的對象是指出包含在實體中的對象是HT

20、MLHTML文本。文本。 Page 31HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識 報頭報頭消息的報頭分通用報頭、請求報頭、響應(yīng)報頭和實體報頭消息的報頭分通用報頭、請求報頭、響應(yīng)報頭和實體報頭四個類型。四個類型。通用報頭指同時適用于請求和響應(yīng)消息,但是不適用于被通用報頭指同時適用于請求和響應(yīng)消息,但是不適用于被傳送的實體。傳送的實體。General-Header = Date | PragmaGeneral-Header = Date | Pragma請求報頭允許客戶向服務(wù)器發(fā)送有關(guān)請求或有關(guān)客戶自己請求報頭允許客戶向服務(wù)器發(fā)送有關(guān)請求或有關(guān)客戶自己的信息。的信息。Page 32HTTP協(xié)議基礎(chǔ)知識協(xié)議

21、基礎(chǔ)知識報頭報頭 request-header = Accept request-header = Accept | Accept-Charset | Accept-Charset | Accept-Encoding | Accept-Encoding | Accept-Language | Accept-Language | Authorization | Authorization | Expect | Expect | From | From | Host | Host | If-Match | If-MatchPage 33HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識 報頭報頭響應(yīng)報頭允許服務(wù)器傳

22、送不能放在狀態(tài)行中的額外信息。響應(yīng)報頭允許服務(wù)器傳送不能放在狀態(tài)行中的額外信息。response-header = Accept-Ranges response-header = Accept-Ranges | Age | Age | ETag | ETag | Location | Location | Proxy-Authenticate | Proxy-Authenticate | Retry-After | Retry-After | Server | Server | Vary | WWW-Authenticate | Vary | WWW-AuthenticatePage 34HT

23、TP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識 報頭報頭實體報頭定義了有關(guān)實體主體的可選信息或在沒有實體主實體報頭定義了有關(guān)實體主體的可選信息或在沒有實體主體時有關(guān)請求標(biāo)識的資源信息。體時有關(guān)請求標(biāo)識的資源信息。entity-header = Allow | Content-Encodingentity-header = Allow | Content-Encoding | Content-Language | Content-Length | Content-Language | Content-Length | Content-Location | Content-MD5 | Content-Locatio

24、n | Content-MD5 | Content-Range | Content-Type | Content-Range | Content-Type | Expires | Last-Modified | Expires | Last-Modified | extension-header | extension-headerPage 35HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識緩存(緩存(Cache ) 緩存通過就近存取先前取得的對象來降低對象檢索延緩存通過就近存取先前取得的對象來降低對象檢索延遲,減少因特網(wǎng)上的遲,減少因特網(wǎng)上的webweb流量。既可以駐留在客戶主機(jī)中,流量。既可以駐留在客戶

25、主機(jī)中,也可以駐留在中間網(wǎng)絡(luò)高速緩存服務(wù)器主機(jī)中。也可以駐留在中間網(wǎng)絡(luò)高速緩存服務(wù)器主機(jī)中。 緩存在降低用戶可感知的響應(yīng)時間的同時,卻引入了一緩存在降低用戶可感知的響應(yīng)時間的同時,卻引入了一個新的問題個新的問題緩存中存放的對象的拷貝可能是過期的。緩存中存放的對象的拷貝可能是過期的。換句話說,存放在換句話說,存放在webweb服務(wù)器中的對象可能己在客戶高服務(wù)器中的對象可能己在客戶高速緩存下它的一個拷貝之后被修改了速緩存下它的一個拷貝之后被修改了 。 HTTP HTTP提供一個專門機(jī)制,使得在允許客戶進(jìn)行高速緩存提供一個專門機(jī)制,使得在允許客戶進(jìn)行高速緩存的同時,仍確保傳遞給瀏覽器的所有對象都是最

26、新的。的同時,仍確保傳遞給瀏覽器的所有對象都是最新的。 Page 36HTTP協(xié)議基礎(chǔ)知識協(xié)議基礎(chǔ)知識滿足條件滿足條件(1)(1)使用使用GETGET方法,方法,(2)(2)包含包含If-Modified-Since:If-Modified-Since:報報頭的頭的HTTPHTTP請求消息就是所謂的帶條件的請求消息就是所謂的帶條件的GetGet消息。消息。在在HTTP/1.1HTTP/1.1中,定義了中,定義了CacheCache的緩存規(guī)則,的緩存規(guī)則,Cache-Control Cache-Control = Cache-Control : 1#cache-directive= Cache-Control : 1#cache-directive cache-directive = cache-request-directive cache-directiv

溫馨提示

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

最新文檔

評論

0/150

提交評論