摘要: 本文將討論一些實施***測試時的重要HTTP方法,旨在幫助沒有Web應用***測試知識的***測試人員可以充分利用已有工具,成功地實施端到端的Web***測試。 若是你沒有積極地參與Web應用程序開發,幾乎就不可能瞭解HTTP協議的內部工做機理,也幾乎沒有機會知道W...html
本文將討論一些實施***測試時的重要HTTP方法,旨在幫助沒有Web應用***測試知識的***測試人員可以充分利用已有工具,成功地實施端到端的Web***測試。web
若是你沒有積極地參與Web應用程序開發,幾乎就不可能瞭解HTTP協議的內部工做機理,也幾乎沒有機會知道Web應用程序與數據庫進行交互的不一樣方法,也沒法真正知道,當用戶點擊了一個連接或在瀏覽器的URL中鍵入字符時會發生什麼。數據庫
若是你之前並無編程技能,也沒有積極地參與Web應用程序的開發,就不可能有效地執行***測試。做爲***測試人員,你須要Web應用程序和HTTP協議的基礎知識。編程
做爲***測試人員,理解信息流是如何從客戶端達到服務器,再返回服務器是很是重要的。舉個例子,一位給你修電視的技術人員在接觸電視的任何零件以前,必須理解電視的內部工做原理。本文將討論一些實施***測試時的重要HTTP方法,旨在幫助沒有Web應用***測試知識的***測試人員可以充分利用已有工具,成功地實施端到端的Web***測試。瀏覽器
實施***測試的重要HTTP方法服務器
在客戶端將請求發送給服務器時,它還應當通知服務器對目標源採起的行動。例如,若是一個用戶僅但願查看一個網頁的內容,就會激發GET方法,通知服務器將網頁上的內容發送給客戶端的Web瀏覽器。cookie
本文將討論幾種方法,其宗旨就是要使***測試人員明確,在兩端之間發生了哪些類型的數據交換。ide
GET/POST方法工具
GET方法經過URL將參數傳遞給Web應用程序。它取得表單中的全部輸入並將其附加到URL。這種方法有些侷限性;你在URL中經過GET方法最多隻能傳遞255個字符,若是超過了這個數字,多數服務器就會在不發出警告的狀況下截下超過限制的字符,或者會返回一個HTTP 414錯誤。使用GET方法的另外一個重要問題是,輸入的內容成爲URL的一部分而易於被嗅探。若是用戶鍵入了用戶名和口令,而這些值都經過GET方法被傳遞給服務器,那麼Web服務器上的任何人均可以從Apache或IIS的日誌文件中找到用戶名和口令。若是你收藏了URL,傳遞的值也會連同URL以明文的形式被保存。GET方法最初僅用於從服務器來恢復數據,可是許多開發人員用它向服務器發送數據。測試
POST方法相似於GET方法,它用於從服務器上檢索數據,但它是經過請求主體來傳遞內容的。由於數據是在請求主體中傳送的,因此***者就很難檢測並***底層操做。
HEAD方法
***者使用HEAD方法來確認服務器的類型,由於服務器僅經過HTTP頭來響應而無需發送任何負載。這是一種快速發現服務器版本和日期的方法。
TRACE方法
在使用TRACE方法時,檢索服務器會經過響應主體中的原始請求消息,返回TRACE響應。TRACE方法用於確認中間設備(例如,代理服務器和防火牆)對請求作出的任何修改。有些代理服務器會在數據包通過時編輯HTTP頭部,而這能夠經過使用TRACE方法來確認。TRACE方法用於測試目的,你能夠跟蹤另外一端接收了什麼。微軟的IIS服務器有一個與TRACE方法相同的TRACK命令。有一種更加高級的***稱爲XST(跨站跟蹤),它利用跨站腳本***(XSS)和TRACE方法來竊取用戶的cookies。
PUT和DELETE方法
PUT和DELETE方法是WebDAV(HTTP協議的一個擴展)的一部分,它支持對Web服務器上的文檔和文件進行管理。開發者用WebDAV將製做完成的網頁上傳到web服務器。PUT用於上傳數據到服務器,而DELETE用於刪除數據。
OPTIONS方法
OPTIONS方法用於查詢服務器所支持的方法。有一種方法能夠很容易查詢服務器支持什麼:使用全部Linux發行版都內置的Netcat(nc)實用程序。咱們能夠在80端口上鍊接網站,而後使用OPTIONS方法查詢服務器所支持的方法。咱們可使用HTTP/1.1向服務器發送請求。返回的響應就能夠確認服務器所支持方法,連同其它信息,如內容長度、日期,等等。
http://www.youxia.org/24305.html#jtss-tsina