首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过GPRS / WAP连接时,在http请求报头中看到多个值

问通过GPRS / WAP连接时,在http请求报头中看到多个值
EN

Stack Overflow用户
提问于 2012-11-30 18:29:27
回答 2查看 741关注 0票数 0

当我通过wifi向web服务发出请求时,一切都运行得很好,但在具有WAP连接的GPRS上进行请求时是一样的(我无论如何都没有强制连接到WAP,这可能取决于运营商。在阿根廷完成的测试)服务器正在接收Content-Type和Content-Length中的重复值。

下面是同样的请求,首先通过WiFi登录服务器,然后通过GPRS登录服务器。

通过WiFi:

代码语言:javascript
复制
POST /ODP/Services.asmx HTTP/1.1 
User-Agent: kSOAP/2.0 
SOAPAction: http://temphost.org/RetrieveConfiguration 
Content-Type: text/xml 
Connection: close 
Content-Length: 464 
Host: temp.host.com 
Accept-Encoding: gzip 

通过GPRS:

代码语言:javascript
复制
POST /ODP/Services.asmx HTTP/1.1 
Accept-Encoding: deflate, gzip, identity 
Content-Length: 464, 464 
Content-Type: text/xml, text/xml 
Host: temp.host.com 
SOAPAction: http://temphost.org/RetrieveConfiguration 
User-Agent: kSOAP/2.0 
X-WAP-WTLSEncryptiontype: NONE 
X-WAP-Bearerinfo: W-HTTPS=FALSE, bearertype=0 
Via: W-HTTP/1.1 wgw-fe6 EMIG 5.1 
x-msisdn: <User Phone number> 
x-up-calling-line-id: <User Phone number> 
x-technology-stack: Unknown 
TE: trailers 
Connection: TE 

我不能理解在Content-Type和Content-Length头的请求中如何以及在何处添加多个值。

有没有人能告诉我WAP连接出了什么问题,或者是在修改WAP请求时在运营商端添加了WAP连接。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-06 20:43:21

遗憾的是,在客户端(客户/电话/浏览器)上没有什么可做的,但是有一些可能的场景来获得解决方案的方法。如果您是web开发人员(VASP侧),则需要注意URL/URI大小,以防止POST需要多个数据包。如果你是网络服务器管理者(VASP/telco端),你可以定义这些特定的报头(当相等时)将接受多个值。在这种情况下,你需要意识到你将把你的服务器置于.in响应分离攻击的风险之下。如果您是代理管理员(Telco端),您可以调整GW以丢弃额外的报头,而不是将它们合并到包含多个值的一个报头中,但在这种情况下,您需要知道您将不再符合RFC建议。

票数 2
EN

Stack Overflow用户

发布于 2012-12-05 23:11:07

如果POST因为其扩展而被截断并需要多个数据包,则content-length和content-type字段将重复。

WGW通过将它们合并到一个包含多个值(用逗号分隔)的标头中解决了这种情况,问题是这个包含多个值的标头会生成HTTP 411错误代码。

根据最新的RFC草案,必须丢弃此流量,错误代码为502,但可以使用一些解决方法来删除其中一个报头,而不是合并它们,以便使此事务保持在进行中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13643368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档