




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 HTTP 協(xié)議基礎1、HTTP與WEB服務nHTTP應用層協(xié)議是Web的核心。nHTTP協(xié)議運行在客戶程序和服務器程序中。不同端系統(tǒng)上的客戶程序和服務器程序通過交換HTTP消息彼此交流。nHTTP定義Web客戶(即瀏覽器)如何從web服務器請求Web頁面,以及服務器如何把Web頁面?zhèn)魉徒o客戶。nWeb頁面(web page,也稱為文檔)由多個對象構成。對象(object)僅僅是可由單個URL尋址的文件,例如HTML文件、JPG圖像、GIF圖像、JAVA小應用程序、語音片段等。n例如,如果一個Web頁面包含HTML文本和5個JPEG圖像,那么它由6個對象構成,即基本H1ML文件加5個圖像。n瀏
2、覽器是web的用戶代理,它顯示所請求的Web頁面,并提供大量的導航與配置特性。Web瀏覽器還實現(xiàn)HTTP的客戶端nWeb服務器存放可由URL尋址的Web對象,web服務器還實現(xiàn)HTTP的服務器端。、Http工作流程nHTTP客戶端啟動TCP連接(創(chuàng)建插口) 到服務器, 端口 80。一旦建立連接,瀏覽器進程和服務器進程就可以通過各自的套接字來訪問。nhttp 報文(應用層協(xié)議報文) 在瀏覽器 (http client) 和Web服務器(http server)之間進行交換。n客戶端套接字??蛻敉约旱奶捉幼职l(fā)送HTTP請求消息,也從自己的套接字接收HTTP響應消息。n服務器從自己的套接字接收HT
3、TP請求消息,也往自己的套接字發(fā)送HTTP響應消息。n關閉TCP 連接n注意:在向客戶發(fā)送所請求文件的同時,服務器并沒有存儲關于該客戶的任何狀態(tài)信息。即便某個客戶在幾秒鐘內再次請求同一個對象,服務器也不會響應說:自己剛剛給它發(fā)送了這個對象。n所以http 是 “無狀態(tài)(stateless)”的服務,不保留任何訪問過的請求信息當用戶請求一個當用戶請求一個Web頁面頁面(譬如說點擊某個超鏈接譬如說點擊某個超鏈接)時,瀏覽器把請求該時,瀏覽器把請求該頁面中各個對象的頁面中各個對象的HTTP請求消息發(fā)送給服務器。服務器收到請求后,請求消息發(fā)送給服務器。服務器收到請求后,以運送含有這些對象以運送含有這些
4、對象HTTP響應消息作為響應。響應消息作為響應。、HTTP連接的類型n非持久連接和持久連接非持久連接和持久連接HTTP既可以使用非持久連接(nonpersistent connection),也可以使用持久連接(persistent connection)。HTTP/1.0使用非持久連接,HTTP/1.1默認使用持久連接。.1 非持久連接n非持久連接情況下從服務器到客戶傳送一個Web頁面的步驟。假設該貝面由1個基本HTML文件和10個JPEG圖像構成,而且所有這些對象都存放在同一臺服務器主機中。 再假設該基本HTML文件的URL為: pipelining)和帶流水線(with pipelini
5、ng)兩個版本。如果是不帶流水線的版本,那么客戶只在收到前一個請求的響應后才發(fā)出新的請求。nHTTP/1.1的默認模式使用帶流水線的持久連接。這種情況下,HTTP客戶每碰到一個引用就立即發(fā)出一個請求,因而HTTP客戶可以一個接一個緊挨著發(fā)出各個引用對象的請求。服務器收到這些請求后,也可以一個接一個緊挨著發(fā)出各個對象。3.3 流水線和非流水線方式n流水線方式指沒有收到上一個請求的對象就發(fā)送新的對象的請求n非流水線方式指必須要等到上一個請求的對象到達之后再發(fā)送新的對象的請求4、HTTP消息格式消息格式nHTTP規(guī)范1.0RPcl945和HTTP1.1 RFC 2616定義了HTTP消息的格式。HT
6、TP消息分為請求消息和響應稍息兩類。4.1 HTTP請求消息請求消息n下面是一個典型的HTTP請求消息:GET /somedir/page.html HTTP/1.1Host:Connection:closeUser-agent:Mozilla/4.0Accept-language:zh-cn(額外的回車符和換行符)n首先,這個消息是用普通的ASCII文本書寫的。n其次,這個消息共有5行(每行以一個回車符和一個換行符結束),最后一行后面還有額外的一個回車特和換行符。n請求行請求行有3個寧段:方法字段、URL字段、HTTP版本宇段。n方法字段有若干個值可供選擇,包括GET、POST和HEAD。H
7、TTP請求消息絕大多數(shù)使用GET方法,n頭部行Host:定存放所請求對象的主機。n請求消息中包含頭部Connection:close是在告知服務器本瀏覽器不想使用持久連接;服務器發(fā)出所請求的對象后應關閉連接。nUser-agent頭部行指定用戶代理,也就是產(chǎn)生當前請求的瀏覽器的類型。本例的用戶代理是Mozilla/4.0,它是Nelscape瀏覽器的一個版本。HTTP請求標準格式 Request方 法URL版 本首部字段名首部行:值首部字段名值:實體主體(通常不用)請求行空格回車換行:CRLFCRLFCRLFCRLF請求報文的類型是由它所采用的方法決定的。 n附屬體不在GET方法中使用,而是在
8、POST方法中使用。nPOST方法適用于需由用戶填寫表單的場合,如往google搜索引擎中填入待搜索的詞。用戶提交表單后,nHEAD方法與GET方法類似,兩者的差別只是服務器在對HEAD方法的響應消息中去掉了所請求的對象,其他內容則與對GET方法的響應消息一樣。HEAD方法通常用于HTTP服務器軟件開發(fā)人員進行調試。4.2 HTTP響應消息響應消息n下面是一個典型的HTTP響應消息:HTTP/1.1 200 0KConnectlon:closeDate: Thu, 13 Oct 2005 03:17:33 GMTServer: Apache/2.0.54 (Unix)LastNodified:
9、Mon,22 Jun 1998 09;23;24 GMTContentLength:682lContentType:text/html(數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù) 數(shù)據(jù))HTTP響應標準格式響應標準格式 Response版 本狀態(tài)碼短 語首部字段名首部行:值首部字段名值:實體主體(有些響應報文不用)狀態(tài)行空格回車換行:CRLFCRLFCRLFCRLF響應報文的開始行是狀態(tài)行。狀態(tài)行包括三項內容,即 HTTP 的版本,狀態(tài)碼,以及解釋狀態(tài)碼的簡單短語。 開始行5 HTTP常用狀態(tài)碼n1xx 表示通知信息的,如請求收到了或正在進行處理。n2xx 表示成功,如接受或知道了。n3xx 表示重定向,表示要完
10、成請求還必須采取進一步的行動。n4xx 表示客戶的差錯,如請求中有錯誤的語法或不能完成。n5xx 表示服務器的差錯,如服務器失效無法完成請求。n200 0K;請求成功,所請求信息在響應消息中返回。301 Moved Permanently:所請求的對象己永久性遷移;新的URL在本響應消息的Location:頭部指出??蛻糗浖詣诱埱筮@個新的URL。400 Bad Request;表示服務器無法理解相應請求的普通錯誤的狀態(tài)碼n404 Not Found:服務器上不存在所請求的文檔。HTTP Version Not Support:服務器不支持所請求的HTTP協(xié)議版本。Cookies: 保存 “
11、狀態(tài)”n服務器產(chǎn)生一個 # , 服務器認識這個 #, 以備不時之需:n認證n記憶用戶的前序訪問, 先前的選擇n服務器在響應報文中發(fā)送 “cookie” 給客戶端nSet-cookie: 1678453n客戶端可以在后繼的請求中發(fā)送“cookie” ncookie: 1678453clientserver普通 http 請求報文普通 http響應報文+Set-cookie: #普通 http 請求報文cookie: #普通 http響應報文普通 http 請求報文cookie: #普通 http響應報文cookie-特定的cookie-特定的Conditional GET: 客戶端緩存機制n目的
12、: 如果客戶端緩存了最新的請求對象,則服務器不必重復發(fā)送n客戶端: 在http請求報文中聲明所緩存拷貝的生成日期nIf-modified-since: n服務器: 如果客戶端緩存的拷貝是最新的,則在響應報文中不發(fā)請求的對象: nHTTP/1.0 304 Not Modifiedclientserverhttp請求報文If-modified-since: http響應報文HTTP/1.0 304 Not Modified對象未經(jīng)修改http請求報文If-modified-since: http響應報文HTTP/1.1 200 OK對象已經(jīng)修改用telnet測試 http (客戶端操作)1. 用Telnet 連接測試用的服務器:打開打開 TCP 連接到連接到 port 80(默認的默認的http 服務器端口服務器端口) 位于位于 0后續(xù)鍵入的內容將發(fā)送到后續(xù)鍵入的內容將發(fā)送到202.11
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (一模)萍鄉(xiāng)市2025年高三第一次模擬考試政治試卷(含答案解析)
- 2025年中考道德與法治二輪復習:文明與精神 高頻考點學案(含練習題及答案)
- 施工水源施工方案
- 阜陽機房消防施工方案
- 別墅獨院出租合同范例
- 雙方簽合同范例
- 建設工地保安工作流程與重點計劃
- 學校美術教育品牌形象建設計劃
- 人性化管理方案計劃
- 社會實踐與校外教學活動安排計劃
- 新高考普通高中數(shù)學人教A版教材目錄
- 【2022年】金鑰匙科技競賽試題
- 新版五金公司績效考核表
- 曼昆《經(jīng)濟學原理》(微觀經(jīng)濟學分冊)第8版 全部答案
- 第八章:微生物的生態(tài)
- 第5講:工作研究的分析技術
- ISO9001ISO14001ISO45001內審檢查表
- 【告知牌】某公司全套重大危險源告知牌(7頁)
- 現(xiàn)代密碼學公鑰密碼體制課件
- 【課件】第十四單元第二十七節(jié)肖邦課件-2021-2022學年高中音樂人音版(2019)必修音樂鑒賞
- 贏時勝財務估值系統(tǒng)日常操作指引
評論
0/150
提交評論