上下求索
移动网关对HTTP信令头域格式的要求
上一篇 /
下一篇 2010-02-24 16:22:28
前面的测试针对移动网关对HTTP头识别处理已经出现了几次比较麻烦的问题,这里简单做下总结。
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个只是头域结束的空行和可 选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大小写无关的,域 值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
典型的请求消息:
GET http://download.microtool.de:80/somedata.exe
Host: download.microtool.de
Accept:*/*
Pragma: no-cache
Cache-Control: no-cache
Referer: http://download.microtool.de/
User-Agent:Mozilla/4.04[en](Win95;I;Nav)
Range:bytes=554554-
请求部分一般问题不大,只是在而测试的时候要注意是否支持GET和POST两种方式的兼容。
典型的响应消息:
HTTP/1.0200OK
Date:Mon,31Dec200104:25:57GMT
Server:Apache/1.3.14(Unix)
Content-type:text/html
Last-modified:Tue,17Apr200106:46:28GMT
Etag:”a030f020ac7c01:1e9f”
Content-length:39725426
Content-range:bytes554554-40279979/40279980
现在发现的几个问题都是在响应部分,必须注意有两点:
1.content-length和content-type必须要带,不然很多地区的运营商网关会无法识别,导致手机终端可以正常发包到我们的服务端,但我们的服务端响应无法正常返回到终端的情况;
2.除了消息头外,我们有些服务的响应是不带消息体的,这种情况测试中也发现有问题,最好的解决办法就是带了一段附带的消息体(即使是无效的)。
再简单介绍下content-type和content-length的概念:
Content-Type实体头用于向接收方指示实体的介质类型,指定HEAD方法送到接收方的实体介质类型,或GET方法发送的请求介质类型。此参数是与请求中Accept字段对应的。
Content-Length表示实际传送的字节数。
由于一些地区的运营商网关对HTTP头的要求和限制比较严格,不制定类型会出现HTTP无法解析的情况,导致了我们服务异常的出现,由于各个开发人员的编程习惯不同,也没有对头域格式进行统一,上面的问题还是比较普遍的存在,各位同学以后测试的时候注意检查判断。
相关阅读:
- loadrunner采用socket和HTTP协议交叉实现测试需求 (nb_bull, 2009-6-24)
- [摘]List of HTTP status codes Http状态代码列表 (garfield0610, 2009-7-03)
- [ZT]HTTP与HTTPS的区别 (morpar82, 2009-7-09)
- 一个网站安全测试案例 (alitester, 2009-7-12)
- http状态码列表 (丛林猎手, 2009-9-03)
- HTTP 超文本传输协议 (色彩, 2009-10-14)
- apache 的modules参数 (thefirstred, 2009-10-21)
- LoadRunner在HTTP接口测试中的应用 (fishy, 2009-11-24)
- HTTP 状态码 (ireneyao, 2010-1-25)
- Loadrunner中对中文进行UTF-8转码的探索 (nb_bull, 2010-2-22)
收藏
举报
TAG:
http
移动网关