【畢業(yè)學(xué)位論文】(Word原稿)多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn)-軟件工程_第1頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn)-軟件工程_第2頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn)-軟件工程_第3頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn)-軟件工程_第4頁(yè)
【畢業(yè)學(xué)位論文】(Word原稿)多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn)-軟件工程_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

碩士學(xué)位論文 (專(zhuān)業(yè)學(xué)位) 多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn) 姓 名: 張君 學(xué) 號(hào): 1021170030 所在院系:軟件學(xué)院 職業(yè)類(lèi)型:工程碩士 專(zhuān)業(yè)領(lǐng)域:軟件工程 指導(dǎo)教師:張惠娟 副指導(dǎo)教師: 韓雪 二 一二 年九月 A in 1021170030 2012 多線(xiàn)程下載軟件的設(shè)計(jì)與實(shí)現(xiàn) 張君 同濟(jì)大學(xué) 學(xué)位論文版權(quán)使用授權(quán)書(shū) 本人完全了解同濟(jì)大學(xué)關(guān)于收集、保存、使用學(xué)位論文的規(guī)定,同意如下各項(xiàng)內(nèi)容:按照學(xué)校要求提交學(xué)位論文的印刷本和電子版本;學(xué)校有權(quán)保存學(xué)位論文的印刷本和電子版,并采用影印、縮印、掃描、數(shù)字化或其它手段保存論文;學(xué)校有權(quán)提供目錄檢索以及提供本學(xué)位論文全文或者部分的閱覽服務(wù);學(xué)校有權(quán)按有關(guān)規(guī)定向國(guó)家有關(guān)部門(mén)或者機(jī)構(gòu)送交論文的復(fù)印件和電子版;在不以贏利為目的的前提下,學(xué)校可以適當(dāng)復(fù)制論文的部分或全部?jī)?nèi)容用于學(xué)術(shù)活動(dòng)。 學(xué)位論文作者簽名: 年 月 日 同濟(jì)大學(xué)學(xué)位論文原創(chuàng)性聲明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在導(dǎo)師指導(dǎo)下,進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含任何他人創(chuàng)作的、已公開(kāi)發(fā)表或者沒(méi)有公開(kāi)發(fā)表的作品的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確方式標(biāo)明。本學(xué)位論文原創(chuàng)性聲明的法律責(zé)任由本人承擔(dān)。 學(xué)位論文作者簽名: 年 月 日 同濟(jì)大學(xué) 碩士學(xué)位論文 摘要 I 摘 要 隨著網(wǎng)絡(luò)技術(shù)的普及與飛速發(fā)展,網(wǎng)絡(luò)資源的日益豐富,下載工具已逐漸成為網(wǎng)絡(luò)應(yīng)用中不可或缺的一部分。各種下載軟件通過(guò)解析不同的網(wǎng)絡(luò)傳輸協(xié)議,采用不同的方式進(jìn)行文件的傳輸與下載。但同時(shí)也存在很多常見(jiàn)問(wèn)題,如多用戶(hù)多線(xiàn)程同時(shí)下載,斷點(diǎn)的記錄及續(xù)傳,如何更大效率利用網(wǎng)絡(luò)帶寬等等。本論文在對(duì)以往的下載工具進(jìn)行一定研究的基礎(chǔ)上,設(shè)計(jì)并實(shí) 現(xiàn)了此款多線(xiàn)程下載軟件,支持多任務(wù) 多線(xiàn)程在線(xiàn)同時(shí)下載,支持?jǐn)帱c(diǎn)記錄和續(xù)傳,更有效利用帶寬的優(yōu)勢(shì),同時(shí)還能記錄用戶(hù)的下載歷史并給予 相應(yīng) 推薦等等。 本論文針對(duì) 多線(xiàn)程 下載軟件的用戶(hù)需求提出了系統(tǒng)分析和開(kāi)發(fā)流程,并給出了實(shí)現(xiàn)框架。論文首先對(duì)背景知識(shí)和核心技術(shù)進(jìn)行了詳細(xì)的闡述,包括 C+,議分析及 據(jù)庫(kù)訪(fǎng)問(wèn)和使用的相關(guān)知識(shí)。然后對(duì)軟件進(jìn)行了系統(tǒng)分析、功能 分析。 使用了多線(xiàn)程編程機(jī)制, 據(jù)庫(kù)訪(fǎng)問(wèn),網(wǎng)絡(luò)編程, 程技術(shù)等等。 而 后針對(duì)軟件的兩大模塊,多線(xiàn)程用戶(hù)下載模塊和后臺(tái)數(shù)據(jù) 庫(kù)模塊進(jìn)行了架構(gòu)分析 ,完成 了兩個(gè)模塊的實(shí)現(xiàn)與整合。 最終實(shí)現(xiàn)了一款多任務(wù)多線(xiàn)程,支持?jǐn)帱c(diǎn)續(xù)傳,高效利用帶寬資源,用戶(hù)友好的下載軟件。 該系統(tǒng)使用先進(jìn)成熟的編程技術(shù),提高了系統(tǒng)資源的使用率,同時(shí)貫徹方便用戶(hù)、系統(tǒng)穩(wěn)定,高效快速的原則,整個(gè)系統(tǒng)設(shè)計(jì)合理,操作便捷,易于維護(hù),穩(wěn)定高效,并且有良好的用戶(hù)體驗(yàn)。 最后由于整個(gè)系統(tǒng)提供了統(tǒng)一的調(diào)用接口,大大提高了所開(kāi)發(fā)系統(tǒng)的擴(kuò)展性和可維護(hù)性,對(duì)其它應(yīng)用系統(tǒng)也具有一定參考意義 。 關(guān)鍵詞: 線(xiàn)程,斷點(diǎn)續(xù)傳,同步 I he of an of in as or to to of so a on of at It of of to on of on it in + +, DO it so it of of it a to of Its Its to to it a of It 濟(jì)大學(xué) 碩士學(xué)位論文 目錄 錄 第一章 緒論 . 1 究背景 . 1 究意義 . 2 究現(xiàn)狀 . 2 究目標(biāo)及內(nèi)容 . 3 文 組織結(jié)構(gòu) . 4 第二章 相關(guān)技術(shù) . 5 議 . 5 議概念 . 5 求方式 . 6 議頭部信息 . 7 線(xiàn)程 . 9 程的概念 . 9 線(xiàn)程的概念 . 9 程同步 . 10 線(xiàn)程死鎖 . 12 . 12 展歷史 . 13 . 13 第三章 系統(tǒng)需求分析 . 14 統(tǒng)總體需求 . 14 能需求 . 16 體功能框架 . 16 線(xiàn)程下載 . 17 點(diǎn)續(xù)傳 . 19 據(jù)庫(kù)記錄 . 20 戶(hù)管理下載任務(wù) . 21 持 動(dòng)下載 . 21 同濟(jì)大學(xué) 碩士學(xué)位論文 目錄 統(tǒng)功能建模 . 22 能需求 . 22 第四章 系統(tǒng)設(shè)計(jì) . 25 統(tǒng)架構(gòu)設(shè)計(jì) . 25 統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) . 27 線(xiàn)程下載模塊設(shè)計(jì) . 27 作原理及工作流程 . 28 程圖介紹 . 31 要函數(shù)介紹 . 34 要屬性介紹 . 36 戶(hù)事件處理 . 38 據(jù)庫(kù)管理模塊設(shè)計(jì) . 39 程介紹 . 39 出類(lèi)的方法說(shuō)明 . 41 出類(lèi)的屬性說(shuō)明 . 42 戶(hù)事件處理 . 43 第五章 多線(xiàn)程下載軟件的實(shí)現(xiàn) . 44 發(fā)環(huán)境 . 44 線(xiàn)程下載模塊的實(shí)現(xiàn) . 45 . 45 線(xiàn)程下載的實(shí)現(xiàn) . 47 點(diǎn)續(xù)傳的實(shí)現(xiàn) . 49 戶(hù)下載歷史操作的實(shí)現(xiàn) . 50 持 動(dòng)下載的實(shí)現(xiàn) . 51 據(jù)庫(kù)管理模塊的實(shí)現(xiàn) . 52 . 52 據(jù)庫(kù)記錄功能的實(shí)現(xiàn) . 53 第六章 總結(jié)與展望 . 56 結(jié) . 56 望 . 57 同濟(jì)大學(xué) 碩士學(xué)位論文 目錄 V 參考文獻(xiàn) . 58 致 謝 . 60 第一章 緒論 1 第一章 緒論 本章將首先介紹該課題的研究背景,以及當(dāng)前國(guó)內(nèi)外關(guān)于此課題的研究成果及問(wèn)題。 然后基于研究背景和目前的研究現(xiàn)狀,提出該課題的研究意義和研究?jī)?nèi)容,并列出本論文的組織安排。 究背景 在當(dāng)今的網(wǎng)絡(luò)時(shí)代,下載軟件是使用最為頻繁的軟件之一。幾年來(lái),下載技術(shù)也在不停地發(fā)展。最原始的下載功能僅僅是個(gè)“下載”過(guò)程,即從 傳統(tǒng)的下載方式存在三個(gè)問(wèn)題:第一個(gè)問(wèn)題,由于網(wǎng)絡(luò)的不穩(wěn)定性,一旦連接斷開(kāi)使得下載過(guò)程中斷,就 需要從文件開(kāi)始后再次下載 。第二個(gè)問(wèn)題,隨著現(xiàn)在的網(wǎng)絡(luò)資源越來(lái)越豐富,個(gè)人電腦硬件配置的提升,很多網(wǎng)絡(luò)資源的體積都非常龐大,比如高清電影,高清電視劇,大型 3致不能在短時(shí)間內(nèi)一次性下載完畢,需要分幾次下載。第三個(gè)問(wèn)題,雖然網(wǎng)絡(luò)帶寬逐漸提 高,但下載速度很少能夠達(dá)到理論最高值,有很大一部分帶寬都被浪費(fèi) 。 由此,多線(xiàn)程下載和斷點(diǎn)續(xù)傳的概念出現(xiàn)了。所謂多線(xiàn)程下載,可以在客戶(hù)端通過(guò)多個(gè)線(xiàn)程同時(shí)進(jìn)行下載。在中國(guó),最早流行的多線(xiàn)程下載軟件是“網(wǎng)絡(luò)螞蟻”,在“網(wǎng)絡(luò)螞蟻”軟件流行開(kāi)后,許多下載軟件也都紛紛效仿,是否應(yīng)用“多線(xiàn)程下載”技術(shù)甚至能支持多少個(gè)下載線(xiàn)程都成了人們?cè)u(píng)測(cè)下載軟件的要素?!岸嗑€(xiàn)程下載”的基礎(chǔ)是 即支持“斷點(diǎn)續(xù)傳”。這樣, 在下載時(shí)可以把文件分成若干部分,每一部分創(chuàng)建一個(gè)下載線(xiàn)程進(jìn)行下載。 在網(wǎng)絡(luò)環(huán)境下,使用多線(xiàn)程技術(shù)實(shí)現(xiàn)下載,可以提高 率和帶寬的利用率,從而提高下載速度。為了避免網(wǎng)絡(luò)不穩(wěn)定而造成的下載中斷后的重傳,引入斷點(diǎn)續(xù)傳機(jī)制,可提高下載的效率。 多線(xiàn)程斷點(diǎn)續(xù)傳 技術(shù),自從興起以后受 到了越來(lái)越多的關(guān)注,人們也在用自己的方法使這門(mén)技術(shù)不斷完善,該 技術(shù)融合了多線(xiàn)程的知識(shí),計(jì)算機(jī)網(wǎng)絡(luò)的知識(shí)(主要是與套接字相關(guān)的內(nèi)容),同步異步的知識(shí)等等。在對(duì)這些知識(shí)的綜合運(yùn)用中,程序員 可以編寫(xiě)出令用戶(hù)滿(mǎn)意的下載軟件 。 在現(xiàn)在的軟件中,很多 地方需要下載模塊,如軟件本身自動(dòng)更新,如更新大量數(shù)據(jù)等。本文介紹了基于 給出了一個(gè)多線(xiàn)程下載同濟(jì)大學(xué) 碩士學(xué)位論文 多線(xiàn)程下載軟 件的設(shè)計(jì)與實(shí)現(xiàn) 2 工具的實(shí)現(xiàn)過(guò)程。 很多下載軟件都支持下載歷史記錄查看的功能,數(shù)據(jù)庫(kù)功能的引入使下載工具的更能更加完善,更加實(shí)用。在當(dāng)今的數(shù)據(jù)庫(kù)技術(shù)中,有一門(mén)稱(chēng)作為 技術(shù)受到了人們的歡迎,逐漸淘汰了原來(lái)的 術(shù), 術(shù)可以更方便地操作數(shù)據(jù)庫(kù),存取數(shù)據(jù)也更加方便,快捷, 這個(gè)項(xiàng)目中就利用了 現(xiàn)了下載歷史記錄查看的功能 。 究意義 基于前一節(jié) 所介紹 的研究背景,本節(jié)將 提出本課題的研究意義。 本課題將要設(shè)計(jì)并實(shí)現(xiàn)基于 圖將該技術(shù)成熟化,產(chǎn)品化,文檔化,必將推廣多線(xiàn)程下載在各類(lèi)應(yīng)用中的使用。 (1) 多線(xiàn)程下載技術(shù)。此點(diǎn)為本課題的重點(diǎn)技術(shù)。多線(xiàn)程的使用無(wú)疑能夠增加下載的效率和易用性,使下載更加方便,便捷和快速。但是多線(xiàn)程的問(wèn)題也就浮現(xiàn)了出來(lái),由于線(xiàn)程運(yùn)行的不確定性,所以經(jīng)常會(huì)導(dǎo)致一些敏感數(shù)據(jù)的錯(cuò)誤。這個(gè)課題在一定程度上是熟悉多線(xiàn)程編程以及多線(xiàn)程環(huán)境下的調(diào)試和多線(xiàn)程中比較關(guān)鍵的同步問(wèn)題 。 (2) 通過(guò)數(shù)據(jù)庫(kù)對(duì)系統(tǒng)信息 進(jìn)行管理。在該系統(tǒng)中,使用 術(shù)連接數(shù)據(jù)庫(kù),對(duì)下載信息,用戶(hù)記錄等等進(jìn)行數(shù)據(jù)管理 。 (3) 封裝系統(tǒng)模塊。本課題采用動(dòng)態(tài)鏈接庫(kù)的技術(shù)對(duì)核心功能進(jìn)行模塊化封裝,提供出統(tǒng)一的借口,使得該功能在 于 二次開(kāi)發(fā) 。 究現(xiàn)狀 研究現(xiàn)狀最開(kāi)始的下載就是簡(jiǎn)單的建立一個(gè)從瀏覽器到服務(wù)器的鏈接,然后用戶(hù)一直等待直到下載過(guò)程結(jié)束。久而久之,這種下載方式帶來(lái)了很多問(wèn)題,如果下載文件過(guò)大,突然斷網(wǎng)之后,用戶(hù)必須重新下載;并且下載的網(wǎng)速受到很大的限制,尤其在上網(wǎng)高峰階段 。 為了解決這個(gè) 問(wèn)題,洪以容先生的“網(wǎng)絡(luò)螞蟻”橫空出世,并且在短時(shí)間內(nèi)受到全國(guó)網(wǎng)友的追捧,“網(wǎng)絡(luò)螞蟻”首先采用了多線(xiàn)程下載技術(shù),下載一個(gè)任務(wù)的時(shí)候,幾個(gè)線(xiàn)程一起下載,這樣既能充分利用網(wǎng)絡(luò)資源,也能增加下載速率,而且斷點(diǎn)續(xù)傳技術(shù)的應(yīng)用也大第一章 緒論 3 大地提高了“網(wǎng)絡(luò)螞蟻”的實(shí)用性,用戶(hù)不再煩惱下載過(guò)程中突然網(wǎng)絡(luò)斷開(kāi)這類(lèi)的事故。但是,這門(mén)技術(shù)興起以后,也受到了一些質(zhì)疑,從本質(zhì)上說(shuō)“網(wǎng)絡(luò)螞蟻”只是飲鴆止渴而已,它并沒(méi)有根本解決帶寬低所帶來(lái)的問(wèn)題,可是卻起到了拋磚引玉的作用,自此之后,各種各樣下載技術(shù)的革新與突破的出現(xiàn)就如雨后春筍一樣。這門(mén)技 術(shù)自從 1998年問(wèn)世以來(lái),得到了廣泛的應(yīng)用,成為越來(lái)越多下載軟件的核心技術(shù),例如:網(wǎng)際快車(chē),迅雷,超級(jí)旋風(fēng)等等。而且,這門(mén)技術(shù)也逐漸成為各類(lèi)應(yīng)用軟件重要的附加功能 。 如今,多線(xiàn)程下載已經(jīng)不僅僅局限于下載工具,很多軟件本身都需要下載功能。如軟件自身的更新,尤其是很多網(wǎng)絡(luò)應(yīng)用的客戶(hù)端,代表之一便是網(wǎng)絡(luò)游戲。網(wǎng)絡(luò)游戲大多是3D 畫(huà)面,數(shù)據(jù)量非常大,經(jīng)常需要更新很多文件,在這種情況下,多線(xiàn)程下載顯得尤為重要。還有就是很多軟件的本地?cái)?shù)據(jù),比如手機(jī)上的離線(xiàn)地圖數(shù)據(jù),經(jīng)常需要更新,數(shù)據(jù)量也很大。但現(xiàn)在相關(guān)的下載軟件或者下載 模塊都還是采取的單線(xiàn)程傳統(tǒng)下載方式,經(jīng)常用戶(hù)在斷網(wǎng)后,下次只能采取從頭下載,耗時(shí)耗力,用戶(hù)體驗(yàn)很差 。 究目標(biāo)及內(nèi)容 基于對(duì)當(dāng)前多線(xiàn)程下載的現(xiàn)狀和未來(lái)發(fā)展的分析,本課題將深入多線(xiàn)程下載解決方案中的技術(shù)關(guān)鍵,設(shè)計(jì)并實(shí)現(xiàn)基于 建系統(tǒng)原型,并進(jìn)行測(cè)試與分析。 本課題的重要研究?jī)?nèi)容包括: (1) 深入研究了多線(xiàn)程技術(shù),分析了該技術(shù)的現(xiàn)狀以及發(fā)展趨勢(shì)。 (2) 設(shè)計(jì)并實(shí)現(xiàn)了基于 進(jìn)行分析與測(cè)試。 (3) 實(shí)現(xiàn)了 (3) 實(shí)現(xiàn) 了動(dòng)態(tài)連接庫(kù)對(duì)模塊進(jìn)行封裝,并提供相對(duì)標(biāo)準(zhǔn)的接口。 本課題具有以下目標(biāo): (1) 本課題將深入分析多線(xiàn)程下載結(jié)局方案中的技術(shù)關(guān)鍵,設(shè)計(jì)并實(shí)現(xiàn)支持多線(xiàn)程和斷點(diǎn)續(xù)傳的下載模塊,構(gòu)建系統(tǒng)原型,并進(jìn)行測(cè)試與分析比對(duì)。 (2) 本課題是基于 議的多線(xiàn)程斷點(diǎn)續(xù)傳下載工具。針對(duì)目前市場(chǎng)上已有系統(tǒng)存在的各種問(wèn)題,本文分析了客戶(hù)的需求及多種用戶(hù)體驗(yàn),開(kāi)發(fā)出更符合市場(chǎng)趨勢(shì)和用戶(hù)喜好的產(chǎn)品。 (3) 封裝該軟件模塊,提供統(tǒng)一接口,以便于系統(tǒng)移植和二次開(kāi)發(fā)。 同濟(jì)大學(xué) 碩士學(xué)位論文 多線(xiàn)程下載軟 件的設(shè)計(jì)與實(shí)現(xiàn) 4 文組織結(jié)構(gòu) 本論文將以以下幾個(gè)章節(jié)組成: 第一章 緒論。 簡(jiǎn)述課題的研究背景,提出了課題的研究目標(biāo),由此給出本文的研究范圍,并簡(jiǎn)單介紹了本文的組織結(jié)構(gòu)。 第二章 系統(tǒng)相關(guān)背景介紹。本章介紹了相關(guān)一些技術(shù)背景,為下文使用相關(guān)技術(shù)提供良好的背景基礎(chǔ)。首先介紹了 括 議的概念,請(qǐng)求信息,請(qǐng)求方式等。然后介紹了多線(xiàn)程,包括相關(guān)概念,線(xiàn)程同步。然后介紹了本課題需要使用的 后介紹了 第三章 對(duì)課題 的需求分析。本章介紹了該課題的需求,包括功能需求、性能需求。 第四章 先從架構(gòu)角度對(duì)系統(tǒng)進(jìn)行分析,然后 針對(duì)本課題兩 個(gè)重要的模塊,多線(xiàn)程用戶(hù)下載模塊和后臺(tái) 據(jù)庫(kù)模塊,分別進(jìn)行了相關(guān)分析。 包括相關(guān)流程圖,函數(shù)接口等詳細(xì)設(shè)計(jì)。 第五章 針對(duì)本課題兩個(gè)重要的模塊,多線(xiàn)程用戶(hù)下載模塊和后臺(tái) 據(jù)庫(kù)模塊,進(jìn)行了相關(guān)實(shí)現(xiàn),包括類(lèi)的定義,關(guān)鍵代碼介紹,以及最終效果圖 。 第六章 結(jié)論與展望。本章進(jìn)行了總結(jié)和展望。第二章 相關(guān)技術(shù) 5 第二章 相關(guān)技術(shù) 第 一章主要介紹了本課題的研究背景,國(guó)內(nèi)外相關(guān)軟件的研究現(xiàn)狀,提出了本課題的研究意義,主要研究?jī)?nèi)容。 本章將對(duì)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)中所使用的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具進(jìn)行整體的介紹,這些技術(shù)和工具的選擇,遵循了成 熟性、靈活性、通用性、安全性的原則,下面就對(duì)擬使用的信息技術(shù)一一進(jìn)行介紹。 將 本課題所開(kāi)發(fā)的多線(xiàn)程下載軟件應(yīng)用到的核心技術(shù)包括:計(jì)算機(jī)網(wǎng)絡(luò), 線(xiàn)程編程, 態(tài)鏈接庫(kù)等等。對(duì)這些知識(shí)和概念的了解對(duì)理解本文及后續(xù)工作都是必要的。本章將對(duì)這些背景知識(shí)進(jìn)行詳細(xì)分析,介紹其基本原理,為下文做好準(zhǔn)備 。 議 超文本傳輸協(xié)定( 互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。所有的 件都必 須遵守這個(gè)標(biāo)準(zhǔn)。設(shè)計(jì) 初的目的是為了提供一種發(fā)布和接收 面的方法。 議概念 作的結(jié)果, 他們最終發(fā)布了一系列的 中最著名的就是616。 616定義了 一個(gè)客戶(hù)端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)( 客戶(hù)端 是終端用戶(hù),服務(wù)器端是網(wǎng)站。通過(guò)使用 覽器、網(wǎng)絡(luò)爬蟲(chóng)或者其它的工具,客戶(hù)端發(fā)起一個(gè)到服務(wù)器上指定端口(默認(rèn)端口為 80)的 求。 稱(chēng)這個(gè)客戶(hù)端為用戶(hù)代理( 應(yīng)答的服務(wù)器上存儲(chǔ)著一些資源,比如 稱(chēng)這個(gè)應(yīng)答服務(wù)器為源服務(wù)器( 在用戶(hù)代理和源服務(wù)器中間可能存在多個(gè)中間層,比如代理,網(wǎng)關(guān),或者隧道( 盡管 P 協(xié)議是互聯(lián)網(wǎng)上最流行的應(yīng)用, 議并沒(méi)有規(guī)定必須使用它和基于它支持的層。事實(shí)上, 網(wǎng)協(xié)議上,或者在其他網(wǎng)絡(luò)上實(shí)現(xiàn)。何能夠提供這種保證的協(xié)議都可以被其使用。 同濟(jì)大學(xué) 碩士學(xué)位論文 多線(xiàn)程下載軟 件的設(shè)計(jì)與實(shí)現(xiàn) 6 通常,由 立一個(gè)到服務(wù)器指定端口(默認(rèn)是 80端口)的接。 務(wù)器則在那個(gè)端口監(jiān)聽(tīng)客戶(hù)端發(fā)送過(guò)來(lái)的請(qǐng)求。一旦收到請(qǐng)求,服務(wù)器向客戶(hù)端發(fā)回一個(gè)狀態(tài)行,比如“ 00 和響應(yīng)的消息,消息的消息體可能是請(qǐng)求的文件、錯(cuò)誤消息、或者其它一些信息。 用 不是 原因在于打開(kāi)一個(gè)網(wǎng)頁(yè)必須傳送很多數(shù)據(jù),而 議提供傳輸控 制,按順序組織數(shù)據(jù),和錯(cuò)誤糾正。 通過(guò) 者 議請(qǐng)求的資源由統(tǒng)一資源標(biāo)識(shí)符( 標(biāo)識(shí) 。 求方式 議中共定義了八種方法(有時(shí)也叫“動(dòng)作”)來(lái)表明 定的資源的不同操作方式: 回服務(wù)器針對(duì)特定資源所支持的 求方法。也可以利用向 務(wù)器發(fā)送 *的請(qǐng)求來(lái)測(cè)試服務(wù)器的功能性。 服務(wù)器索要與 求相一致的響應(yīng),只不過(guò)響應(yīng)體將不會(huì)被返回。這一 方法可以在不必傳輸整個(gè)響應(yīng)內(nèi)容的情況下,就可以獲取包含在響應(yīng)消息頭中的元信息。 特定的資源發(fā)出請(qǐng)求。注意: 法不應(yīng)當(dāng)被用于產(chǎn)生“副作用”的操作中,例如在 中一個(gè)原因是 能會(huì)被網(wǎng)絡(luò)蜘蛛等隨意訪(fǎng)問(wèn)。 指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。 求可能會(huì)導(dǎo)致新的資源的建立和 /或已有資源的修改。 指定資源位置上傳其最新內(nèi)容。 求服務(wù)器刪除 標(biāo)識(shí)的資源。 顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。 議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。 方法名稱(chēng)是區(qū)分大小寫(xiě)的。當(dāng)某個(gè)請(qǐng)求所針對(duì)的資源不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候,服務(wù)器應(yīng)當(dāng)返回狀態(tài)碼 405( 當(dāng)服務(wù)器不認(rèn)識(shí)或者不支持對(duì)應(yīng)的請(qǐng)求方法的時(shí)候,應(yīng)當(dāng)返回狀態(tài)碼 501( 務(wù)器至少應(yīng)該實(shí)現(xiàn) 法,其他方法都是可選的。當(dāng)然,所有的方法支持的實(shí)現(xiàn)都應(yīng)當(dāng)符合下述的方法各自的語(yǔ)義定義 。此外,除了上述方法,特定的 相關(guān)技術(shù) 7 服務(wù)器還能夠擴(kuò)展自定義的方法 。 議頭部信息 議頭部信息 部協(xié)議包含著請(qǐng)求信息與響應(yīng)信息,從服務(wù)器下載文件時(shí)應(yīng)該先解析頭部信息,從而確定下載對(duì)象的大小,是否支持多線(xiàn)程等等。所以,先了解 例如: 求信息頭部: 圖 求信息頭部 現(xiàn)在,針對(duì) 議請(qǐng)求信息頭部進(jìn)行解析: 定義客戶(hù)端可以處理的媒體類(lèi)型,按優(yōu)先級(jí)排序;在一個(gè)以逗號(hào)為分隔的列中, 可以定義 多種類(lèi)型和使用通配符 定義客戶(hù)端可以理解的編碼機(jī)制。 定義客戶(hù)端樂(lè)于接受的自然語(yǔ)言列表。 一個(gè)響應(yīng)頭標(biāo),它允許服務(wù)器指明:將在給定的偏移和長(zhǎng)度處,為資源組成部分的接受請(qǐng)求。該頭標(biāo)的值被理解為請(qǐng)求范圍的度量單位。例如 一個(gè)響應(yīng)頭標(biāo),用于定義訪(fǎng)問(wèn)一種資源所必需的授權(quán)(域和被編碼的用戶(hù) 口令)。例如: 一個(gè)用于定義緩存指令的通用頭標(biāo)。例如: 0 個(gè)用于表明是否保存 接為開(kāi)放的通用頭標(biāo)。例如: 同濟(jì)大學(xué) 碩士學(xué)位論文 多線(xiàn)程下載軟 件的設(shè)計(jì)與實(shí)現(xiàn) 8 一種定義基本 實(shí)體頭標(biāo),為了在實(shí)體范圍內(nèi)解析相對(duì) 果沒(méi)有定義 標(biāo)解析相對(duì) 用 在 且絕對(duì))或使用 求。例如: ,標(biāo)明一個(gè)實(shí)體是如何編碼的。例如:指定包含于請(qǐng)求或響應(yīng)中數(shù)據(jù)的字節(jié)長(zhǎng)度。例如: 382 指定包含于請(qǐng)求或響應(yīng)中的資源定位( 如果是一絕。對(duì) 作 為 被 解 析 實(shí) 體 的 相 對(duì) 出 發(fā) 點(diǎn) 。 例 如 : ;標(biāo)明被插入字節(jié)的低位與高位字節(jié)偏移,也標(biāo)明此實(shí)體的總長(zhǎng)度。例如: 1001000 標(biāo)明發(fā)送或者接收的實(shí)體的 型。例如: 送 息的日期。例如: 108:42:51 指定實(shí)體的有效期。例如: 05 008 12:00:00 一種請(qǐng)求頭標(biāo),給定控制用戶(hù)代理的人工用戶(hù)的電子郵件地址。例如: 被請(qǐng)求資源的主機(jī)名。對(duì)于使用 請(qǐng)求而言,此頭標(biāo)是強(qiáng)制性的。例如: 指定被請(qǐng)求資源上次被修改的日期和時(shí)間。例如: 0 8:42:51 對(duì)于一個(gè)已經(jīng)移動(dòng)的資源,用于重定向請(qǐng)求者至另一個(gè)位置。與狀態(tài)編碼 302(暫時(shí)移動(dòng))或者 301 (永久性移動(dòng))配合使用。例如: ,便是有意請(qǐng)求只來(lái)自請(qǐng)求鏈(代理)的下一個(gè)服務(wù)器的認(rèn)證。 一種請(qǐng)求頭標(biāo)域,標(biāo)明產(chǎn)生請(qǐng)求的初始資源。對(duì)于 單,它包含此表單的 面的地址。例如: 。 例 如 : 6(第二章 相關(guān)技術(shù) 9 種通用頭標(biāo),標(biāo)明對(duì)應(yīng)被接受方反向的消息體實(shí)施變換的類(lèi)型。例如: 允許服務(wù)器指定一種新的協(xié)議或者新的協(xié)議版本,與響應(yīng)編碼 101(切換協(xié)議)配合使用。例如: 定義用于產(chǎn)生請(qǐng)求 的軟件類(lèi)型(典型的如 覽器)。例如: .0(T) 線(xiàn)程 “線(xiàn)程”是指每個(gè)運(yùn)行程序中的獨(dú)立運(yùn)行程序片段。所謂“多線(xiàn)程處理”是指同時(shí)可以對(duì)幾個(gè)線(xiàn)程進(jìn)行處理。如用戶(hù)界面處理,即程序一方面接受用戶(hù)輸入,一方面做出響應(yīng)給予輸出,而不是讓用戶(hù)等待當(dāng)前任務(wù)完成再開(kāi)始響應(yīng)。由于多線(xiàn)程處理迅速便捷,有更好的用

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論