摘要: 本文将讨论一些实施***测试时的重要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