最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | 什么是Web應(yīng)用

2023-08-10 14:59 作者:愛(ài)測(cè)軟件測(cè)試  | 我要投稿

Web應(yīng)用具有各種各樣的形式和規(guī)模。它們用各種語(yǔ)言編寫(xiě),運(yùn)行在各個(gè)操作系統(tǒng)上,以各種方式運(yùn)行。每種Web應(yīng)用的核心在于,它的所有功能都是使用HTTP進(jìn)行通信的,而它的結(jié)果通常采用HTML格式。輸入是使用GET,POST及類(lèi)似方法進(jìn)行通信的。下面我們將依次討論這幾點(diǎn)。

我們對(duì)Web應(yīng)用的定義僅僅是一切使用HTTP進(jìn)行通信的軟件。這個(gè)定義可能聽(tīng)起來(lái)很寬泛,事實(shí)也確實(shí)如此。我們?cè)谶@本書(shū)中像你演示的技術(shù)適用于一切基于HTTP的技術(shù)。注意,只提供靜態(tài)網(wǎng)頁(yè)的Web服務(wù)器不在我們的討論范圍之中,因?yàn)樵谶@種情況下并不存在軟件。如果你訪問(wèn)同一URL,會(huì)看到完全相同的輸出,而并沒(méi)有軟件根據(jù)請(qǐng)求而執(zhí)行。要成為Web應(yīng)用,必須執(zhí)行某種類(lèi)型的業(yè)務(wù)邏輯(腳本、程序、宏等等),輸出中必須存在某種可能的變化,必須做出一些判斷,否則,我們實(shí)際上并不是在測(cè)試軟件。

有幾種其他類(lèi)型的軟件符合“Web應(yīng)用”的這個(gè)描述,但我們這里只簡(jiǎn)要提及。一般性的Web服務(wù),以及在面向服務(wù)架構(gòu)(SOA)中使用這些服務(wù)的主架構(gòu),在本書(shū)中將只簡(jiǎn)要提及。它們很重要,但卻是一大類(lèi)應(yīng)用,需要由專(zhuān)門(mén)的書(shū)來(lái)論述。還有一些建立在HTTP基礎(chǔ)上的專(zhuān)門(mén)的企業(yè)對(duì)企業(yè)(B2B)和電子數(shù)據(jù)交換(EDI)標(biāo)準(zhǔn),我們也不會(huì)涉及這個(gè)領(lǐng)域。可以這樣說(shuō),這本書(shū)中的技術(shù)也是測(cè)試這些應(yīng)用的根本基礎(chǔ),但是理解問(wèn)題域(B2B、SOA、EDI)的安全測(cè)試比一般的Web安全測(cè)試要有用得多。

術(shù)語(yǔ)

為了便于理解,這里給出若干將會(huì)用到的術(shù)語(yǔ)定義。我們盡量保持與業(yè)界認(rèn)可的標(biāo)準(zhǔn)一致。

服務(wù)器

監(jiān)聽(tīng)HTTP連接的計(jì)算機(jī)系統(tǒng)。這種系統(tǒng)上通常運(yùn)行著服務(wù)器軟件(比如Apache或微軟的IIS)來(lái)處理這些連接。

客戶端

建立到服務(wù)器的連接,請(qǐng)求數(shù)據(jù)的計(jì)算機(jī)或軟件??蛻舳塑浖畛R?jiàn)的是網(wǎng)頁(yè)瀏覽器,但是還有大量其他軟件也會(huì)發(fā)送請(qǐng)求。例如,Adobe的Flash播放器可以產(chǎn)生HTTP請(qǐng)求,同樣還有Java應(yīng)用程序,Adobe的PDF閱讀器以及大多數(shù)軟件。如果你曾經(jīng)在運(yùn)行某種程序時(shí)看到像“本軟件有新版本”這樣的消息,那么這通常意味著該軟件將HTTP請(qǐng)求發(fā)送到某處的服務(wù)器以確定是否有新版本。在考慮測(cè)試,重要的是要記住,網(wǎng)頁(yè)瀏覽器只不過(guò)是能夠產(chǎn)生Web請(qǐng)求的眾多程序中的一種。

請(qǐng)求

請(qǐng)求封裝了客戶端想知道的內(nèi)容。請(qǐng)求由幾個(gè)部分組成,全部定義如下:URL、參數(shù)以及頭信息形式的元數(shù)據(jù)。

URL

統(tǒng)一資源定位符(URL)是一種特殊類(lèi)型的統(tǒng)一資源標(biāo)識(shí)符(URI)。它指出我們?cè)噲D通過(guò)HTTP進(jìn)行操作的內(nèi)容的位置。URL由一種協(xié)議組成(出于我們的目的,我們僅考慮http和https)。協(xié)議之后緊跟著標(biāo)準(zhǔn)記號(hào)(://),將協(xié)議與地質(zhì)其余部分分隔開(kāi)來(lái)。接著是可選的用戶ID,可選的冒號(hào)以及可選的密碼,然后是要連接的服務(wù)器的名稱(chēng)。服務(wù)器名稱(chēng)之后時(shí)資源在這臺(tái)服務(wù)器上的路徑。資源有可選的參數(shù)。最后,可能會(huì)使用“#”字符來(lái)引用內(nèi)部段落或頁(yè)面主題內(nèi)部的錨記。例1-1顯示了一個(gè)完整的URL,它使用了所有可能存在的選項(xiàng)。

例1-1:使用了全部可選字段的基本URL

http://fred:wilma@www.example.com/private.sap?doc=3&part=4#footer

例1-1帶有用戶ID fred,其密碼是傳遞給http://www.example.com服務(wù)器的wilma。它請(qǐng)求服務(wù)器提供資源/private。asp,傳遞了一個(gè)取值為3的doc參數(shù)和一個(gè)取值為4的part參數(shù),接著引用了稱(chēng)作footer的內(nèi)部錨記或段落。

參數(shù)

參數(shù)是鍵-值對(duì),鍵和取值之間以等號(hào)(=)連接。URL中可以有許多參數(shù),以“&”分隔。參數(shù)可以同例1-1中那樣放在URL中傳遞,也可以放在請(qǐng)求主體中,稍后詳述。

方法

向服務(wù)器發(fā)出的每個(gè)請(qǐng)求都需要采用某種方法。到目前為止,最常見(jiàn)的兩種方式是GET和Post。當(dāng)你在網(wǎng)頁(yè)瀏覽器中輸入U(xiǎn)RL并按Enter鍵,或者在你單擊鏈接時(shí),你都在發(fā)出GET請(qǐng)求。當(dāng)你單擊表單上的按鈕,或者進(jìn)行圖像上傳等較復(fù)雜的操作時(shí),大部分情況下都會(huì)產(chǎn)生POST請(qǐng)求。其他的方法(例如,PROPFIND、OPTIONS、PUT、DELETE)都主要用在被稱(chēng)為分布式創(chuàng)作和版本控制(DAV)的協(xié)議中。我們較少談到這部分內(nèi)容。

HTTP基礎(chǔ)

HTTP使用客戶端/服務(wù)器結(jié)構(gòu)

正如我們?cè)谛g(shù)語(yǔ)部分明確指出的,客戶端發(fā)出請(qǐng)求,而服務(wù)器做出響應(yīng),不存在任何其他方式。服務(wù)器不可能做出“那邊的計(jì)算機(jī)需要一些數(shù)據(jù),我來(lái)連接它并向它發(fā)送數(shù)據(jù)”這樣的決定。任何時(shí)候,如果你發(fā)現(xiàn)軟件行為看似是服務(wù)器突然向你顯示一些信息(而你并沒(méi)有單擊它或者明確地發(fā)出請(qǐng)求),這通常是應(yīng)用開(kāi)發(fā)人員的一點(diǎn)小把戲。網(wǎng)頁(yè)瀏覽器和Flash Applet這樣的客戶端可以進(jìn)行編程來(lái)輪詢服務(wù)器,不時(shí)地或在特定時(shí)間發(fā)出定期請(qǐng)求。對(duì)測(cè)試人員而言,這意味著你可以將測(cè)試重點(diǎn)幾種在系統(tǒng)的客戶端 —— 仿效客戶端的行為并對(duì)服務(wù)器的響應(yīng)進(jìn)行評(píng)估。

HTTP是無(wú)狀態(tài)的

HTTP協(xié)議本身不包含任何“狀態(tài)”的概念。換句話說(shuō),一個(gè)連接與任何其他連接之間不存在任何關(guān)系。假設(shè)微盤(pán)現(xiàn)在單擊一個(gè)鏈接,10min之后(甚至是1s之后)我單擊了另一個(gè)鏈接,服務(wù)器完全不知道是同一個(gè)人發(fā)出了這兩個(gè)請(qǐng)求。應(yīng)用費(fèi)很大勁才能確定誰(shuí)在做什么。重要的是,你要知道,是應(yīng)用本身在管理會(huì)話并確定連接之間的關(guān)聯(lián)。HTTP并不能確定這種關(guān)聯(lián)。

那么我的IP地址呢?難道IP地址不能唯一地標(biāo)記我并使服務(wù)器斷定來(lái)自我的IP地址的所有連接都必須關(guān)聯(lián)起來(lái)嗎?答案是絕對(duì)不行。考慮許多擁有數(shù)臺(tái)計(jì)算機(jī)、但是有一條Internet連接(比如寬帶連接或DSL)的家庭,這種連接只能獲取一個(gè)IP地址,而該網(wǎng)絡(luò)上的某臺(tái)設(shè)備(某種類(lèi)型的路由器)使用稱(chēng)作網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的技術(shù)來(lái)隱藏有多少臺(tái)計(jì)算機(jī)在使用相同IP地址這一信息。

那么Cookie呢?它們會(huì)跟蹤會(huì)話和狀態(tài)嗎?是的,大多數(shù)情況下會(huì)跟蹤。事實(shí)上,由于Cookie如此頻繁地被用于跟蹤會(huì)話和狀態(tài)信息,所以它們成為許多測(cè)試的焦點(diǎn)。正如你講在第11章中看到的,沒(méi)呢正確地跟蹤會(huì)話和狀態(tài)是許多安全問(wèn)題的根本起因。

HTTP使用簡(jiǎn)單文本

我們可以查看通過(guò)電纜(或無(wú)線)傳送的真實(shí)消息并全面了解正在發(fā)生的事情。HTTP很容易捕獲,而且它非常易于被人解釋和理解。更重要的是,因?yàn)樗绱撕?jiǎn)單,所以HTTP請(qǐng)求非常容易偽造。不管該應(yīng)用是網(wǎng)頁(yè)瀏覽器、Flash播放器、PDF閱讀器還是別的程序,我們都可以使用任何自己中意的客戶端來(lái)模擬這些請(qǐng)求。事實(shí)上,這本書(shū)最終可以歸結(jié)為以非傳統(tǒng)的方式(使用測(cè)試插件)來(lái)使用非傳統(tǒng)的客戶端(測(cè)試工具)或傳統(tǒng)客戶端(網(wǎng)頁(yè)瀏覽器)。


軟件測(cè)試 | 什么是Web應(yīng)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
汉寿县| 建阳市| 土默特左旗| 突泉县| 梓潼县| 宜州市| 梁平县| 惠水县| 乡城县| 兴义市| 湘潭县| 阜新| 冕宁县| 偃师市| 太仓市| 明星| 彭泽县| 彰武县| 林芝县| 沙坪坝区| 玉田县| 桦川县| 塔城市| 垦利县| 恭城| 邵阳市| 远安县| 文化| 芦山县| 马龙县| 彭州市| 青阳县| 措勤县| 东阳市| 灵武市| 个旧市| 成武县| 晴隆县| 郓城县| 尚义县| 琼结县|