版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1
HTTP簡介定義HTTP是什么?HTTP是怎樣工作的HTTP協(xié)議基礎(chǔ)2HTTP:超文本傳輸協(xié)議(HypertextTransferProtocol)
一.定義3二.HTTP是什么?
當(dāng)我們想瀏覽一個網(wǎng)站的時候,只要在瀏覽器的地址欄里輸入網(wǎng)站的地址就可以了,例如,但是在瀏覽器的地址欄里面出現(xiàn)的卻是:,你知道為什么會多出一個“http”嗎?我們在瀏覽器的地址欄里輸入的網(wǎng)站地址叫做URL(UniformResourceLocator,統(tǒng)一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網(wǎng)頁也都有一個Internet地址。當(dāng)你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協(xié)議(HTTP),將Web服務(wù)器上站點的網(wǎng)頁代碼提取出來,并翻譯成漂亮的網(wǎng)頁。因此,在我們認(rèn)識HTTP之前,有必要先弄清楚URL的組成,例如:/china/index.htm。它的含義如下:
1.http://:代表超文本傳輸協(xié)議,通知服務(wù)器顯示W(wǎng)eb頁,通常不用輸入;
2.www:代表一個Web(萬維網(wǎng))服務(wù)器;
3./:這是裝有網(wǎng)頁的服務(wù)器的域名,或站點服務(wù)器的名稱;
4.China/:為該服務(wù)器上的子目錄,就好像我們的文件夾;
5.Index.htm:index.htm是文件夾中的一個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ò)傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內(nèi)容首先顯示(如文本先于圖形)等。這就是你為什么在瀏覽器中看到的網(wǎng)頁地址都是以http://開頭的原因。
當(dāng)決定使用超文本作為WWW文檔的標(biāo)準(zhǔn)格式后,于是在1990年,科學(xué)家們立即制定了能夠快速查找這些超文本文檔的協(xié)議,即HTTP協(xié)議。經(jīng)過幾年的使用與發(fā)展,得到不斷的完善和擴展,目前在WWW中使用的是HTTP/1.0的第六版。5三.HTTP是怎樣工作的
一次HTTP操作稱為一個事務(wù),其工作過程可分為四步:
1.首先客戶機與服務(wù)器需要建立連接。只要單擊某個超級鏈接,HTTP
的工作就開始了。
2.建立連接后,客戶機發(fā)送一個請求給服務(wù)器,請求方式的格式為:統(tǒng)一資源標(biāo)識符(URL)、協(xié)議版本號,后邊是MIME信息包括請求修飾符、客戶機信息和可能的內(nèi)容。
3.服務(wù)器接到請求后,給予相應(yīng)的響應(yīng)信息,其格式為一個狀態(tài)行,包括信息的協(xié)議版本號、一個成功或錯誤的代碼,后邊是MIME信息包括服務(wù)器信息、實體信息和可能的內(nèi)容。
4.客戶端接收服務(wù)器所返回的信息通過瀏覽器顯示在用戶的顯示屏上,然后客戶機與服務(wù)器斷開連接。
如果在以上過程中的某一步出現(xiàn)錯誤,那么產(chǎn)生錯誤的信息將返回到客戶端,由顯示屏輸出。對于用戶來說,這些過程是由HTTP自己完成的,用戶只要用鼠標(biāo)點擊,等待信息顯示就可以了。6許多HTTP通訊是由一個用戶代理初始化的并且包括一個申請在源服務(wù)器上資源的請求。最簡單的情況可能是在用戶代理和服務(wù)器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發(fā)生在TCP/IP連接之上。缺省端口是TCP80,但其它的端口也是可用的。但這并不預(yù)示著HTTP協(xié)議在Internet或其它網(wǎng)絡(luò)的其它協(xié)議之上才能完成。TCP只預(yù)示著一個可靠的傳輸。這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什么規(guī)格的商品,然后商家再告訴我們什么商品有貨,什么商品缺貨。這些,我們是通過電話線用電話聯(lián)系(HTTP是通過TCP/IP),當(dāng)然我們也可以通過傳真,只要商家那邊也有傳真。7
以上簡要介紹了HTTP協(xié)議的宏觀運作方式,下面介紹一下HTTP協(xié)議的內(nèi)部操作過程。在WWW中,“客戶”與“服務(wù)器”是一個相對的概念,只存在于一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為服務(wù)器?;贖TTP協(xié)議的客戶/服務(wù)器模式的信息交換過程,它分四個過程:建立連接、發(fā)送請求信息、發(fā)送響應(yīng)信息、關(guān)閉連接。其實簡單說就是任何服務(wù)器除了包括HTML文件以外,還有一個HTTP駐留程序,用于響應(yīng)用戶請求。瀏覽器是HTTP客戶,向服務(wù)器發(fā)送請求,當(dāng)瀏覽器中輸入了一個開始文件或點擊了一個超級鏈接時,瀏覽器就向服務(wù)器發(fā)送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作后回送所要求的文件。在這一過程中,在網(wǎng)絡(luò)上發(fā)送和接收的數(shù)據(jù)已經(jīng)被分成一個或多個數(shù)據(jù)包(packet),每個數(shù)據(jù)包包括:要傳送的數(shù)據(jù);控制信息,即告訴網(wǎng)絡(luò)怎樣處理數(shù)據(jù)包。TCP/IP決定了每個數(shù)據(jù)包的格式。如果事先不告訴你,你可能不會知道信息被分成用于傳輸和再重新組合起來的許多小塊。8四.HTTP協(xié)議基礎(chǔ)
HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議的縮寫,它用于傳送WWW方式的數(shù)據(jù)。HTTP協(xié)議采用了請求/響應(yīng)模型。客戶端向服務(wù)器發(fā)送一個請求,請求頭包含請求的方法、URL、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務(wù)器信息、實體元信息以及可能的實體內(nèi)容。9
通常HTTP消息包括客戶機向服務(wù)器的請求消息和服務(wù)器向客戶機的響應(yīng)消息。這兩種類型的消息由一個起始行,一個或者多個頭域,一個指示頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請求頭,響應(yīng)頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴展為多行,在每行開始處,使用至少一個空格或制表符。10HTTP請求客戶端通過發(fā)送HTTP請求向服務(wù)器請求資源的訪問。HTTP請求由三部分組成,分別是請求行,消息報頭,請求正文。請求行以一個方法符號開頭,后面跟著請求URI和協(xié)議的版本,以CRLF作為結(jié)尾,請求行以空格分隔,除了作為結(jié)尾的CRLF外,不允許出現(xiàn)單獨的CR或者LF字符。格式如下:MethodRequest-URIHTTP-VersionCRLF
Method表示請求的方法,Request-URI是一個統(tǒng)一資源標(biāo)識符,標(biāo)識了要請求的資源,HTTP-Version表示請求的HTTP協(xié)議的版本,如:
GET/form.htmlHTTP/1.1(CRLF)11方法作用GET請求獲取由Request-URI所標(biāo)識的資源POST在Request-URI所標(biāo)識的資源后附加新的數(shù)據(jù)HEAD
請求Request-URI所標(biāo)識的資源響應(yīng)消息報頭PUT請求服務(wù)器存儲一個資源,并用Request-URI作為其標(biāo)識DELETE
請求服務(wù)器刪除由Request-URI所標(biāo)識的資源TRACE
請求服務(wù)器回送收到的請求信息,主要用于測試或診斷CONNECT保留將來使用。OPTIONS請求查詢服務(wù)器的性能,或者查詢與資源相關(guān)的選項和需求。12HTTP響應(yīng)
在接受和解釋請求信息后,服務(wù)器會返回一個HTTP響應(yīng)消息。與HTTP請求類似,HTTP響應(yīng)也是由三個部分組成,分別是:狀態(tài)行,消息報頭,響應(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)代碼的第一個數(shù)字定義了響應(yīng)的類別,后面兩位數(shù)字沒有具體的分類。第一個數(shù)字有五種可能的取值:1XX:指示信息-表示請求已經(jīng)接收,繼續(xù)處理。
2XX:成功-表示請求已經(jīng)被成功接收、理解、接受。
3XX:重定向-要完成請求必須進行更進一步的操作。
4XX:客戶端錯誤-請求有語法錯誤或請求無法實現(xiàn)。
5XX:服務(wù)端錯誤-服務(wù)器未能實現(xiàn)合法的請求。14HTTP響應(yīng)-狀態(tài)代碼與狀態(tài)描述狀態(tài)代碼
狀態(tài)描述
說明200
ok
客戶端請求成功。
400
badrequest
由于客戶端請求有語法錯誤,不能被服務(wù)器所理解。
401
unauthorized
請求未經(jīng)授權(quán)。這個狀態(tài)代碼必須和www-authenticate報頭域一起使用。
403
forbidden
服務(wù)器收到請求,但是拒絕提供服務(wù)。服務(wù)器通常會在響應(yīng)中文中給出不提供服務(wù)的原因。
404
notfound
請求的資源不存在,例如,輸入了錯誤的URL15HTTP消息
HTTP消息由客戶端到服務(wù)器的請求和服務(wù)器到客戶端的響應(yīng)組成。請求消息和響應(yīng)消息都是由開始行,消息報頭(可選的),空行(只有CRLF的行),消息正文(可選的)組成。對于請求消息,開始行就是請求行,對于響應(yīng)消息,開始行就是狀態(tài)行。HTTP消息報頭包括普通報頭,請求報頭,響應(yīng)報頭,實體報頭。
每一個報頭域都是由名字+":"+空格+值組成,消息報頭域的名字是大小寫無關(guān)的。16通用頭域包含請求和響應(yīng)消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。Cache-Control指定請求和響應(yīng)遵循的緩存機制。Date頭域表示消息發(fā)送的時間。Pragma頭域用來包含實現(xiàn)特定的指令,最常用的是Pragma:no-cache。17請求頭域允許客戶端向服務(wù)器傳遞關(guān)于請求或者關(guān)于客戶機的附加信息。請求頭域可能包含下列字段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的原始服務(wù)器或網(wǎng)關(guān)的位置。HTTP/1.1請求必須包含主機頭域,否則系統(tǒng)會以400狀態(tài)碼返回。User-Agent頭域的內(nèi)容包含發(fā)出請求的用戶信息。18響應(yīng)頭域允許服務(wù)器傳遞不能放在狀態(tài)行的附加信息,這些域主要描述服務(wù)器的信息和Request-URI進一步的信息。響應(yīng)頭域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。Location響應(yīng)頭用于重定向接收者到一個新URI地址。Server響應(yīng)頭包含處理請求的原始服務(wù)器的軟件信息。19實體信息一般由實體頭域和實體組成。實體頭域包含關(guān)于實體的原信息,實體頭包括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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《立秋健康養(yǎng)生》課件
- 2021學(xué)年天津市楊村一中、寶坻一中等四校高一下學(xué)期期末聯(lián)考地理試題
- 小學(xué)一年級20以內(nèi)數(shù)學(xué)口算練習(xí)題大全
- 國際貿(mào)易試卷答案解讀
- 幼兒園傳染病預(yù)防工作領(lǐng)導(dǎo)小組
- 年度第一學(xué)期歷史科期末考試試卷
- 高考語文分鐘專題突破(2):字形
- 北京市大興區(qū)2022-2023學(xué)年高三上學(xué)期期末試卷英語試題
- 餐飲娛樂場所保安工作經(jīng)驗
- 能源行業(yè)話務(wù)員工作心得
- 港區(qū)船塢工程施工組織設(shè)計
- 2024年北京平谷區(qū)初三九年級上學(xué)期期末數(shù)學(xué)試題
- 2024年新人教版道德與法治七年級上冊全冊教案(新版教材)
- 初中物理期末復(fù)習(xí)+專題5+綜合能力題+課件++人教版物理九年級全一冊
- 2024年國開電大 統(tǒng)計學(xué)原理 形成性考核冊答案
- 幼兒園大班語言課件:不怕冷的大衣
- 2024年1月國開電大法律事務(wù)??啤镀髽I(yè)法務(wù)》期末考試試題及答案
- 2024全國能源行業(yè)火力發(fā)電集控值班員理論知識技能競賽題庫(多選題)
- 因式分解(分組分解法)專項練習(xí)100題及答案
- 冶煉煙氣制酸工藝設(shè)計規(guī)范
- 《上帝擲骰子嗎:量子物理史話》超星爾雅學(xué)習(xí)通章節(jié)測試答案
評論
0/150
提交評論