网页请求有多少种错误?
HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口如:http://wwwip138com:80。 需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口为443,如果使用80端口访问HTTPS协议的服务器可能会被拒绝。
HTTP请求的方法:
HTTP/11协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
HTTP10定义了三种请求方法: GET, POST 和 HEAD方法。
HTTP11新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。注意:GET方法不应当被用于产生“副作用”的操作中,例如在Web Application中,其中一个原因是GET可能会被网络蜘蛛等随意访问。Loadrunner中对应get请求函数:web_link和web_url
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/11协议中预留给能够将连接改为管道方式的代理服务器。
注意:
1)方法名称是区分大小写的,当某个请求所针对的资源不支持对应的请求方法的时候,服务器应当返回状态码405(Mothod Not Allowed);当服务器不认识或者不支持对应的请求方法时,应返回状态码501(Not Implemented)。
2)HTTP服务器至少应该实现GET和HEAD/POST方法,其他方法都是可选的,此外除上述方法,特定的HTTP服务器支持扩展自定义的方法。
HTTP工作原理
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
HTTP 请求/响应的步骤:
客户端连接到Web服务器->发送Http请求->服务器接受请求并返回HTTP响应->释放连接TCP连接->客户端浏览器解析HTML内容
1、客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://wwwbaiducom
2、发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
3、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4、释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;
5、客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
HTTP请求消息Request
客户端发送一个HTTP请求到服务器的请求消息包括以下格式
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成。
请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本
Get请求例子,使用Charles抓取的request:
GET /562f25980001b1b106000338jpg HTTP/11Host imgmukewangcom
User-Agent Mozilla/50 (Windows NT 100; WOW64) AppleWebKit/53736 (KHTML, like Gecko) Chrome/5102704106 Safari/53736Accept image/webp,image/,/;q=08Referer http://wwwimooccom/Accept-Encoding gzip, deflate, sdch
Accept-Language zh-CN,zh;q=08
第一部分:请求行,用来说明请求类型,要访问的资源以及所使用的HTTP版本
GET说明请求类型为GET,[/562f25980001b1b106000338jpg]为要访问的资源,该行的最后一部分说明使用的是HTTP11版本。
第二部分:请求头部,紧接着请求行(即第一行)之后的部分,用来说明服务器要使用的附加信息
从第二行起为请求头部,HOST将指出请求的目的地User-Agent,服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础该信息由你的浏览器来定义,并且在每个请求中自动发送等等
第三部分:空行,请求头部后面的空行是必须的
即使第四部分的请求数据为空,也必须有空行。
第四部分:请求数据也叫主体,可以添加任意的其他数据。
这个例子的请求数据为空。
POST请求例子,使用Charles抓取的request:
POST / HTTP11Host:wwwwroxcom
User-Agent:Mozilla/40 (compatible; MSIE 60; Windows NT 51; SV1; NET CLR 2050727; NET CLR 3004506648; NET CLR 3521022)
Content-Type:application/x-www-form-urlencoded
Content-Length:40Connection: Keep-Alive
name=Professional Ajax&publisher=Wiley
第一部分:请求行,第一行明了是post请求,以及http11版本。
第二部分:请求头部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:请求数据,第八行。
HTTP请求消息Response
一般情况下,服务器接收并处理客户端发过来的请求后会返回一个HTTP的响应消息。
HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文
例子
HTTP/11 200 OK
Date: Fri, 22 May 2009 06:07:21 GMT
Content-Type: text/html; charset=UTF-8
第一部分:状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。
第一行为状态行,(HTTP/11)表明HTTP版本为11版本,状态码为200,状态消息为(ok)
第二部分:消息报头,用来说明客户端要使用的一些附加信息
第二行和第三行为消息报头,
Date:生成响应的日期和时间;Content-Type:指定了MIME类型的HTML(text/html),编码类型是UTF-8
第三部分:空行,消息报头后面的空行是必须的
第四部分:响应正文,服务器返回给客户端的文本信息。
空行后面的html部分为响应正文。
请求返回状态码:
200 OK 当您的操作将在响应正文中返回数据时,出现此结果。
204 No Content 当您的操作成功,但不在响应正文中返回数据时,出现此结果。
304 Not Modified(重定向) 当测试实体自上次检索以来是否被修改时,出现此结果。
403 Forbidden 客户端错误
401 Unauthorized 客户端错误
413 Payload Too Large(客户端错误) 当请求长度过长时,出现此结果。
400 BadRequest(客户端错误) 当参数无效时,出现此结果。
404 Not Found(客户端错误) 当资源不存在时,出现此结果。
405 Method Not Allowed(客户端错误)由于方法和资源组合不正确而出现此错误。 例如,您不能对一个实体集合使用 DELETE 或 PATCH。
412 Precondition Failed 客户端错误
501 Not Implemented(服务器错误) 当未实施某个请求的操作时,出现此结果。
503 Service Unavailable(服务器错误) 当 Web API 服务不可用时,出现此结果。
GET与POST:
“get”方法提交的数据会直接填充在请求报文的URL上,如“ https://wwwbaiducom/sie=utf-8&f=8&rsv_bp=1 ” “?”问号划分域名和get提交的参数,A=B中的A是参数名,B是参数值,多个参数之间用&进行分割,如果参数值是中文,则会转换成诸如加密16进制码。一般来说,浏览器处理的URL最大限度长度为1024B(不同浏览器不一样),所以GET方法提交参数长度有限制。
“post”方法提交的数据会附在正文上,一般请求正文的长度是没有限制的,但表单中所能处理的长度一般为100k(不同协议不同浏览器不一样),而且需要考虑下层报文的传输效率,不推荐过长。
所以GET方法可以用来传输一些可以公开的参数信息,解析也比较方便,如百度的搜索的关键词,而POST方法可以用来提交一个用户的敏感信息(如果不使用HTTPS加密,报文正文仍旧是明文,容易被人截获读取)
主要特点
1、无连接
无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
2、无状态
HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
3、简单快速
客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
4、灵活
HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
5、支持B/S及C/S模式
你没有开启自带的服务,你日志上的意思是没有服务器响应,你开启自带的服务器,有个小小的经验(自己遇到的):你打开自带的订票服务器,然后自己在录制前先登录一遍,然后关闭浏览器,重新录制,希望能帮到你。
安博A+北京测试空间软件测试工程师培训项目介绍
在有丰富经验的讲师指导下,通过编写“软件测试工程师管理系统”与测试空间“BOffice办公处理系统”、SUN公司“OpenOffice文字处理系统”、“供电管理系统”、“华阜图书管理系统”等多个软件项目,掌握软件开发流程与开发技术、深刻理解软件测试对软件开发的重要性,熟悉软件测试流程、软件测试管理等相关测试理论,掌握软件测试的自动化工具使用。
安博A+北京测试空间软件测试工程师课程设置
完整的课程内容:
1搭建系统测试环境
本课程是“英才6+3”BtestSky20课程体系中的基础课程之一,内容以Windows 2003为主。目的在于通过对网络操作系统的工作原理、体系结构、关键技术、典型应用的讲解,帮助学员建立起网络操作系统的整体概念,使学员掌握目前在企业网络环境中广泛使用的Windows 2003 Server的安装和配置、实际应用、系统管理及网络管理的基本技能。
从操作系统的发展入手,使学员明确操作系统和网络操作系统的概念。并介绍Windows 2003 Server的基本操作和管理。
课程由浅入深地逐一介绍Windows 2003 Server的安装、管理、使用和维护:1、Windows 2003 Server的安装、管理用户、Windows 2003文件和打印系统、管理磁盘、AD中的用户和组及授权策略、代理授权管理、AD中组策略的应用和管理安全机制等。2、Windows 2003 Server提供的Internet/Intranet网络服务功能,包括DHCP服务器、DNS服务器、Internet信息服务、Mail服务器、路由、NAT与代理服务器等。3、Windows 2003的优化和故障恢复,全面了解Windows 2003 Server的强大功能和特点。
2服务器实用秘笈
本课程是“英才6+3”BtestSky20课程体系中的重点课程之一,目的是使学员掌握目前网络中比较流行的Linux系统的安装和配置。通过本课程的学习,可以使用Linux系统实现网络上的Intranet/Internet服务。
以系统的安装为切入点,依次从系统管理、常用命令、局域网服务、广域网服务、系统间集成等方面对Linux系统进行了详细介绍,通过对安装和升级Linux的各种方法和注意事项、系统管理常用命令和编辑器使用、Intranet/Internet服务的建立、操作系统间的集成应用和网络安全的介绍,使学员全面掌握系统安装、系统管理、网络服务、集成应用等实用技能。
本课程详细介绍了下列内容:安装并简单配置Linux常用命令的使用、系统帮助的使用、VI编辑器的使用、对用户和组进行管理、对进程进行管理、对可移动设备的管理、实现DNS服务器、实现DHCP服务器、实现WWW服务器、实现FTP服务器、实现E-Mail服务器、实现文件的共享、实现打印机的共享、熟悉GNOME和KDE的使用、基于Linux的主机安全等内容。
3数据库核心技术
本课程是“英才6+3”BtestSky20课程体系中的重要课程之一。本课程的目标是使学员建立数据库系统的整体概念,学习并掌握建设、运行维护和管理网站数据库的各种基本技术;通过项目实践,培养学员运用专业知识解决实际工作问题的能力,以使学员真正具备从事数据库系统相关工作的基本技能,为今后工作中深入应用及后续相关课程的学习打好基础。
本课程详细介绍了下列内容:
一、数据库的基本概念。二、从安装、数据库和表管理、事务处理、安全性管理、数据完整性控制以及备份和恢复等多个角度全面细致地介绍在目前网站实际部署中使用较多的数据库系统——SQL Server,并结合SQL Server对目前数据库系统通用的SQL(结构化查询语言)进行讲解。三、介绍数据仓库、面向对象和分布式数据库系统等当前数据库的新技术,以增强学员对新技术的敏感性。
4开发语言设计精华
本课程是“英才6+3”BtestSky20课程体系中的基础课程之一,C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。因此,它的应用范围广泛。
本课程的特点:坚持面向应用的方向,以应用为中心构建课程体系。准确定位,合理取舍内容,切合实际需要。采用“提出问题—解决问题—归纳分析”的新的教学三部曲。主要内容包括:程序设计基本概念、C语言程序设计的初步知识、顺序结构、选择结构、循环结构、字符型数据、函数、地址和指针、数组、字符串、对函数的进一步讨论、C语言中用户标识符的作用域和存储类、编译预处理和动态存储分配、结构体、共用体和用户定义类型、位运算、文件和上机实践指导等。
5测试用例高效设计
本课程是“英才6+3”BtestSky20课程体系中的专业课程之一。作为软件测试培训教材,教材理论和实践紧密结合,相辅相成,具有很强的使用性和指导性。本书将与BtestSky课程体系的其他培训课程一起,为学员展现软件测试工程师所应具有的知识域和技术域的全貌。
本课程主要通过案例引出软件测试中如何高效地设计测试用例,测试用例以黑盒测试用例设计为主。测试技术包括:等价类划分、边界值分析、因果图法、状态图法和测试大纲方法等。测试用例包括:功能性、兼容性和易用性测试用例。测试对象包括:组建测试、界面测试、文档测试、安装和卸载测试等。并且以理论课程所总结的理论知识为背景,让学员通过实践来复习、巩固知识点,更主要是培养实践动手的能力。实践项目大多数源于工程实践的特点,真正让学习者实践的就是工作中可能要用的。
6国际软件测试概论
本课程是“英才6+3”BtestSky20课程体系中的专业课程之一,是软件测试职业技能培训的专业教材。课程分别从理论、实践、管理的角度介绍了当前软件测试行业所使用的技术,内容基于软件测试理论和软件测试技术展开,覆盖面广,基本上反映了当前软件测试行业所用的所有技术,课程中大量软件测试概念均参考国际国内标准,是软件测试技术人员必学内容。
本课程介绍软件测试的基础知识,不仅讲述基本的技能,同时讲述成为一个成功的软件测试人员必需的技能。通过本课程的学习,学员可以掌握软件测试的基本概念;掌握软件测试的相关技术、工具、方法;掌握关键实施技巧的技术、方法;掌握如何编制测试大纲、测试计划,设计测试用例,撰写测试文档,使学员具有独立承担、实施测试项目的能力。
7自动化测试工具实战
本课程是“英才6+3”BtestSky20课程体系中的专业课程之一,是软件测试职业技能培训必备教材。采用实际的案例引出理论知识,符合人类从实践到理论、理论再去指导实践的认识和学习规律。侧重学员实际动手能力的培养,提高实际的工作技能。
本课程结合实践经验介绍了当今三大主流自动化测试工具(QC、QTP、LoadRunner)的使用方法和技巧,简述了软件自动化的概念和理论知识,以及如何正确认识软件自动化测试。可以让学员掌握以下知识:一、实战QuickTest Professional的使用:QTP入门、增强QTP的测试脚本、QTP高级使用。二、实战LoadRunner使用:LoadRunner入门、LoadRunner测试脚本、分析LoadRunner测试结果。三、实战QC使用:QC站点管理和项目管理、QC测试管理过程。四、如在恰当的时候选择使用恰当的测试工具:自动测试工具和软件测试。
8国际化职业向导训练
本课程是“英才6+3”BtestSky20课程体系中的基础课程之一。通过本课程的学习使学员能够编写用户手册和软件演示文档,了解团队沟通技巧,掌握开发心理和测试心理。能够熟悉团队管理方法和技巧;能够熟悉用户培训方法和技巧;能够熟悉冲突处理方法和技巧;能够熟悉编写简历及应聘面试的技巧;深刻理解并掌握软件测试工程师不同职业发展阶段的职业素质要求。
本课程通过如何将自己改变为一个准职业人入手,讲解如何提升自己的表达与沟通能力,如何进行自我介绍、社交沟通的礼仪有哪些,语言沟通应该如何进行。同时为了提升学员的就业能力,本课程重点讲解如何书写自己的简历,如何面试,以及入职以后如何及早的适应工作环境,迅速的转变自己的角色,从而顺利转正,开始自己的职业生涯。
9全真企业级项目实训
本课程是“英才6+3”BtestSky20课程体系中理论与实践并重特色最为突出的一门课程。课程中涉及3个项目(web测试项目,本地化测试项目,手机测试项目)全真模拟企业的实际测试过程,以保证为学员创造一个与日常测试工作环境类似场景。学员通过项目实训,将本课程体系学习过程中涉及的测试技能,测试方法等知识点灵活运用,达到理论与实际相结合的教学效果。从而保证将书本中的知识点真正消化掌握,进而达到软件测试综合能力的提升。
10Web测试项目
项目案例:“测试英才”网站验收测试。
“测试英才”是一项基于ASP为核心开发的一套专业人才网站系统。具有效率高、后台管理功能方便等特点。系统主要由六大模块组成,主要功能如下:简历中心,让每个学员从注册到发布职位到职位管理;人才搜索,能满足不同招聘单位的人才需求;猎头信息,轻松一键式便可快速的采集各类猎头信息;求职指导,可以方便的根据需要选择想要列出的信息类别,创建信息操作方便灵活;各类广告管理,后台广告可以自由添加,同时彻底的打破很多人才网不能自由设置广告的限制;系统进行了深层次的优化,从每个模块进行了优化,可以细微到给每个模块设置关键词,关键词描述,让网站不用提交,也可以轻松的被搜索引擎收录。
项目中将为学员在多平台和各类浏览器之间进行实战测试提供实际指导,提供了测试技术、测试经验、各种测试事宜以及相关测试信息,它们可以应用于任何web应用测试。本项目从底层测试概念开始,清晰地显示了如何分析不同的测试场景,如何决定需要使用的测试技术。这些技术有助于识别造成web应用质量低下的严重程序bug。并注重提供web测试解决方案,帮助学员理解为什么要执行、什么时间执行以及如何执行web测试。
11本地化测试项目
项目案例:“Wink 20 for Windows released”软件本地化测试
Wink是一款免费且内建多国语言的屏幕抓取软件。可输出成数种不同的教学文件格式。例如:Flash动画文件、EXE可运行文件、HTML网页文件、PDF文件。如果是发布成网页模式的,更可以以JPG、PNG、GIF等格式来做发布,让网页开启的速度可以提升。其他更支持BMP以及TIFF格式,让所撷取下来的能有更多的用途。
项目从软件本地化测试的概念入手,结合对软件本地化测试的实践,讨论本地化测试方法、测试阶段、测试流程、文档、缺陷管理、缺陷报告、项目交流。测试的内容包括:测试和确认软件的全部资源文件;测试和验证本地化语言的准确性和资源属性;测试本地化文字和图像并发现错误;测试印刷文档、联机帮助、消息、界面资源和热键顺序的一致性;确认软件符合系统、输入和显示环境的标准;测试用户界面的易用性;测试软件是否符合本地文化习惯;检查政治敏感性内容。
本项目从系统全局着眼,既注意实训内容的全面覆盖性,更着眼于学员的实践技能的培养。
12手机测试项目
项目案例“中国移动TD-SCDMA终端”外场测试
项目要求根据《中国移动TD-SCDMA终端外场测试规范》,开展以下几个测试项:语音业务主叫,语音业务被叫,语音业务长保持,WAP浏览,WAP 浏览长保持,音乐下载(WAP方式),手机视频(WAP方式),无线上网长保持(下行),短消息收发,长短信收发,彩信收发,视频电话接通率,视频电话长保持,语音通话与短消息并发,语音通话与彩信并发,语音通话呼叫中与短消息并发,语音通话呼叫中与彩信并发,WAP浏览与其他业务互操作,无线上网主叫并发与被叫并发,无线上网长保持并发,视频电话与短消息并发,视频电话与彩信并发,飞信登陆,飞信发消息,飞信客户端与其他业务互操作,音乐随身听客户端音乐下载,音乐随身听客户端与其他业务互操作,手机视频客户端。
项目系统地介绍手机软件系统测试用例设计方法、易用性测试、外场测试等手机软件技术和工具。指导学员完成某型号手机的测试工作,通过项目实战,对手机测试技术和测试流程有一个全面的了解,掌握外场测试工具与问题定位分析方法,掌握系统测试用例设计方法。
认证证书
劳动社会保障部和信息产业部 二级软件测评师认证
劳动社会保障部和信息产业部 三级软件测评师认证
金桥就业工程
作为目前国内最大的软件测试工程师培训中心,测试空间成立以来,凭借良好的品牌声誉和IT企业资源,为学员搭建了高薪就业的金桥。目前, 安博A+北京测试空间IT实训基地的广大学子顺利就业于华为、东软、MOTO、海辉、文思、浪潮、博彦、ORACLE、北大方正、东方口岸、清华同方、神州数码、用友等知名IT企业,可以说:硕果累累,桃李满天下!北京测试空间科技发展有限公司经常会与公司进行一些技术交流。
测试空间正不断的努力,将服务领域从一次就业延伸到对学员的终身就业服务,从传统的企业定制培训延伸到终身的职业护航计划,其核心立足点是:就业只是学员职场拼搏的第一步,测试空间将聚焦于学员的长期职业发展,充分利用500余家IT战略合作伙伴资源,为学员提供专业职业规划,在职技术沙龙,在线技术支持,不同阶段的职场发展咨询,与烽火猎头建立合作关系永久免费猎头服务等系列职场护航计划,保证学员能顺利起飞,更能飞得更远,飞得更高!
0条评论