




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、HTTP(HyperText Transfer Protocol)是一套計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則。計(jì)算機(jī)專家設(shè)計(jì)出HTTP,使HTTP客戶(如Web瀏覽器)能夠從HTTP服務(wù)器(Web服務(wù)器)請求信息和服務(wù),HTTP目前協(xié)議的版本是1.1.HTTP是一種無狀態(tài)的協(xié)議,無狀態(tài)是指Web瀏覽器和Web服務(wù)器之間不需要建立持久的連接,這意味著當(dāng)一個(gè)客戶端向服務(wù)器端發(fā)出請求,然后Web服務(wù)器返回響應(yīng)(Response),連接就被關(guān)閉了,在服務(wù)器端不保留連接的有關(guān)信息.HTTP遵循請求(Request)/應(yīng)答(Response)模型。Web瀏覽器向Web服務(wù)器發(fā)送請求,Web服務(wù)器處理請求并返回適當(dāng)
2、的應(yīng)答。所有HTTP連接都被構(gòu)造成一套請求和應(yīng)答。HTTP使用內(nèi)容類型,是指Web服務(wù)器向Web瀏覽器返回的文件都有與之相關(guān)的類型。所有這些類型在MIMEInternet郵件協(xié)議上模型化,即Web服務(wù)器告訴 Web瀏覽器該文件所具有的種類,是HTML文檔、GIF格式圖像、聲音文件還是獨(dú)立的應(yīng)用程序。大多數(shù)Web瀏覽器都擁有一系列的可配置的輔助應(yīng)用程序,它們告訴瀏覽器應(yīng)該如何處理Web服務(wù)器發(fā)送過來的各種內(nèi)容類型。HTTP通信機(jī)制是在一次完整的HTTP通信過程中,Web瀏覽器與Web服務(wù)器之間將完成下列7個(gè)步驟:(1)建立TCP連接在HTTP工作開始之前,Web瀏覽器首先要通過網(wǎng)絡(luò)與 Web服務(wù)
3、器建立連接,該連接是通過TCP來完成的,該協(xié)議與IP協(xié)議共同構(gòu)建Internet,即著名的TCP/IP協(xié)議族,因此Internet又被 稱作是TCP/IP網(wǎng)絡(luò)。HTTP是比TCP更高層次的應(yīng)用層協(xié)議,根據(jù)規(guī)則,只有低層協(xié)議建立之后才能,才能進(jìn)行更層協(xié)議的連接,因此,首先要建立 TCP連接,一般TCP連接的端口號(hào)是80(2) Web瀏覽器向Web服務(wù)器發(fā)送請求命令一旦建立了TCP連接,Web瀏覽器就會(huì)向Web服務(wù)器發(fā)送請求命令。例如:GET /sample/hello.jsp HTTP/1.1(3) Web瀏覽器發(fā)送請求頭信息瀏覽器發(fā)送其請求命令之后,還要以頭信息的形式向Web服務(wù)器發(fā)送一些別的
4、信息,之后瀏覽器發(fā)送了一空白行來通知服務(wù)器,它已經(jīng)結(jié)束了該頭信息的發(fā)送。(4) Web服務(wù)器應(yīng)答客戶機(jī)向服務(wù)器發(fā)出請求后,服務(wù)器會(huì)客戶機(jī)回送應(yīng)答,如:HTTP/1.1 200 OK應(yīng)答的第一部分是協(xié)議的版本號(hào)和應(yīng)答狀態(tài)碼(5) Web服務(wù)器發(fā)送應(yīng)答頭信息正如客戶端會(huì)隨同請求發(fā)送關(guān)于自身的信息一樣,服務(wù)器也會(huì)隨同應(yīng)答向用戶發(fā)送關(guān)于它自己的數(shù)據(jù)及被請求的文檔。(6) Web服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù)Web服務(wù)器向?yàn)g覽器發(fā)送頭信息后,它會(huì)發(fā)送一個(gè)空白行來表示頭信息的發(fā)送到此為結(jié)束,接著,它就以Content-Type應(yīng)答頭信息所描述的格式發(fā)送用戶所請求的實(shí)際數(shù)據(jù)(7) Web服務(wù)器關(guān)閉TCP連接一般情況
5、下,一旦Web服務(wù)器向?yàn)g覽器發(fā)送了請求數(shù)據(jù),它就要關(guān)閉TCP連接,然后如果瀏覽器或者服務(wù)器在其頭信息加入了這行代碼:Connection:keep-aliveTCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請求。保持連接節(jié)省了為每個(gè)請求建立新連接所需的時(shí)間,還節(jié)約了網(wǎng)絡(luò)帶寬。HTTP請求格式當(dāng)瀏覽器向Web服務(wù)器發(fā)出請求時(shí),它向服務(wù)器傳遞了一個(gè)數(shù)據(jù)塊,也就是請求信息,HTTP請求信息由3部分組成:請求方法、URI協(xié)議、版本;請求頭(Request Header);請求正文下面是一個(gè)HTTP請求的例子:GET /sample/Hello.jsp HTTP/1.1Acc
6、ept:image/gif.image/jpeg,*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip,deflateusername=jinqiao&password=1234(1)請求方法、URI、協(xié)議版本請求的第一行是“請求方法、URI、協(xié)議版本”:GET /sample.jsp HTTP/1.1以上代碼中“GET”代表請求方法,“/sample.jsp”表示URI,“HTT
7、P/1.1代表協(xié)議和協(xié)議的版本。根據(jù)HTTP標(biāo)準(zhǔn),HTTP請求可以使用多種請求方法。例如:HTTP1.1支持7種請求方法:GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。在Internet應(yīng)用中,最常用的方法是GET和POST。URL完整地指定了要訪問的網(wǎng)絡(luò)資源,通常只要給出相對(duì)于服務(wù)器的根目錄的相對(duì)目錄即可,因此總是以“/”開頭,最后,協(xié)議版本聲明了通信過程中使用HTTP的版本。(2)請求頭(Request Header)請求頭包含許多有關(guān)的客戶端環(huán)境和請求正文的有用信息。例如,請求頭可以聲明瀏覽器所用的語言,請求正文的長度等。Accept:image/gif.
8、image/jpeg.*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible:MSIE5.01:Windows NT5.0)Accept-Encoding:gzip,deflate.(3)請求正文請求頭和請求正文之間是一個(gè)空行,這個(gè)行非常重要,它表示請求頭已經(jīng)結(jié)束,接下來的是請求正文。請求正文中可以包含客戶提交的查詢字符串信息:username=jinqiao&password=1234在以上的例子的HTTP請求中,請求的正文只有一行內(nèi)容。當(dāng)然,在實(shí)際應(yīng)用中,HTTP
9、請求正文可以包含更多的內(nèi)容。HTTP請求方法,在這里只討論GET方法與POST方法GET方法GET方法是默認(rèn)的HTTP請求方法,我們?nèi)粘S肎ET方法來提交表單數(shù)據(jù),然而用GET方法提交的表單數(shù)據(jù)只經(jīng)過了簡單的編碼,同時(shí)它將作為URL的一部分向Web服務(wù)器發(fā)送,因此,如果使用GET方法來提交表單數(shù)據(jù)就存在著安全隱患上。例如從上面的URL請求中,很容易就可以辯認(rèn)出表單提交的內(nèi)容。(?之后的內(nèi)容)另外由于GET方法提交的數(shù)據(jù)是作為URL請求的一部分所以提交的數(shù)據(jù)量不能太大。POST方法POST方法是GET方法的一個(gè)替代方法,它主要是向Web服務(wù)器提交表 單數(shù)據(jù),尤其是大批量的數(shù)據(jù)。POST方法克服了
10、GET方法的一些缺點(diǎn)。通過POST方法提交表單數(shù)據(jù)時(shí),數(shù)據(jù)不是作為URL請求的一部分而是作為標(biāo)準(zhǔn)數(shù) 據(jù)傳送給Web服務(wù)器,這就克服了GET方法中的信息無法保密和數(shù)據(jù)量太小的缺點(diǎn)。因此,出于安全的考慮以及對(duì)用戶隱私的尊重,通常表單提交時(shí)采用 POST方法。從編程的角度來講,如果用戶通過GET方法提交數(shù)據(jù),則數(shù)據(jù)存放在QUERYSTRING環(huán)境變量中,而POST方法提交的數(shù)據(jù)則可以從標(biāo)準(zhǔn)輸入流中獲取。 HTTP應(yīng)答與HTTP請求相似,HTTP響應(yīng)也由3個(gè)部分構(gòu)成,分別是:協(xié)議狀態(tài)版本代碼描述、響應(yīng)頭(Response Header)、響應(yīng)正文。下面是一個(gè)HTTP響應(yīng)的例子:HTTP/1.1 200
11、 OKServer:Apache Tomcat/5.0.12Date:Mon,6Oct2003 13:23:42 GMTContent-Length:112HTTP響應(yīng)示例Hello HTTP!(1) 協(xié)議狀態(tài)版本代碼描述協(xié)議狀態(tài)代碼描述HTTP響應(yīng)的第一行類似于HTTP請求的第一行,它表示通信所用的協(xié)議是HTTP1.1服務(wù)器已經(jīng)成功的處理了客戶端發(fā)出的請求(200表示成功):HTTP/1.1 200 OK(2) 響應(yīng)頭(Response Header)響應(yīng)頭也和請求頭一樣包含許多有用的信息,例如服務(wù)器類型、日期時(shí)間、內(nèi)容類型和長度等:Server:Apache Tomcat/5.0.12Da
12、te:Mon,6Oct2003 13:13:33 GMTContent-Type:text/htmlLast-Moified:Mon,6 Oct 2003 13:23:42 GMTContent-Length:112(3) 響應(yīng)正文響應(yīng)正文就是服務(wù)器返回的HTML頁面:HTTP響應(yīng)示例Hello HTTP!響應(yīng)頭和正文之間也必須用空行分隔。HTTP應(yīng)答碼HTTP應(yīng)答碼也稱為狀態(tài)碼,它反映了Web服務(wù)器處理HTTP請求狀態(tài)。HTTP應(yīng)答碼由3位數(shù)字構(gòu)成,其中首位數(shù)字定義了應(yīng)答碼的類型:1XX信息類(Information),表示收到Web瀏覽器請求,正在進(jìn)一步的處理中2XX成功類(Success
13、ful),表示用戶請求被正確接收,理解和處理例如:200 OK3XX-重定向類(Redirection),表示請求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作。4XX-客戶端錯(cuò)誤(Client Error),表示客戶端提交的請求有錯(cuò)誤 例如:404 NOT Found,意味著請求中所引用的文檔不存在。5XX-服務(wù)器錯(cuò)誤(Server Error)表示服務(wù)器不能完成對(duì)請求的處理:如 500對(duì)于們Web開發(fā)人員來說掌握HTTP應(yīng)答碼有助于提高Web應(yīng)用程序調(diào)試的效率和準(zhǔn)確性。連接Web應(yīng)用最常見的用途之一是電子商務(wù),可以利用Web服務(wù)器端程序使人 們能夠網(wǎng)絡(luò)購物,需要指出一點(diǎn)是,缺省情況下,通過Internet發(fā)送信息是不安全的,如果某人碰巧截獲了你發(fā)給朋友的一則消息,他就能打開它,假想在 里面有你的信用卡號(hào)碼,這會(huì)有多么糟糕,幸運(yùn)的是,很多Web服務(wù)器以及Web瀏覽器都有創(chuàng)立安全連接的能力,這樣它們就可以安全的通信了。通過Internet提供安全連接最常見的標(biāo)準(zhǔn)是安全套接層 (Secure Sockets layer,SSl)協(xié)議。SSL協(xié)議
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 家庭農(nóng)場養(yǎng)殖技術(shù)推廣協(xié)議
- 時(shí)尚潮玩商品網(wǎng)絡(luò)銷售合作權(quán)責(zé)共擔(dān)協(xié)議
- 昆蟲記選讀教學(xué)教案:初中生物與自然知識(shí)結(jié)合學(xué)習(xí)指導(dǎo)
- 應(yīng)對(duì)項(xiàng)目管理中的風(fēng)險(xiǎn)應(yīng)對(duì)策略
- 海底兩萬里的冒險(xiǎn)之旅教案設(shè)計(jì)
- 養(yǎng)老服務(wù)機(jī)構(gòu)投資建設(shè)合同
- 高端設(shè)備采購與維護(hù)合同
- 花木蘭報(bào)國傳奇故事解讀
- 租賃戶外場地合同協(xié)議書
- 2024-2025學(xué)年高二化學(xué)人教版選擇性必修3教學(xué)課件 第一章 第一節(jié) 第1課時(shí) 有機(jī)化合物的分類
- IATF16949:2024標(biāo)準(zhǔn)質(zhì)量手冊
- 請款單(可直接打印-標(biāo)準(zhǔn)模板)
- 各單位特種作業(yè)人員持證情況統(tǒng)計(jì)表
- 預(yù)拌混凝土及原材料檢測理論考試題庫(含答案)
- 公開招聘社區(qū)居委專職工作人員考試筆試、面試題集及相關(guān)知識(shí)(11套試題含答案)
- 蓄電池在線監(jiān)控方案
- 《豎提》課件
- 不銹鋼排煙風(fēng)管施工實(shí)施方案
- PMC部門工作流程圖
- Oracle-EBS模塊講解
- 漿砌條石磚項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論