如何理解小运营商的302跳转请求

今天在DEBUG代码下载small时发现,我们的重定向存在奇怪的问题,导致目录树刷新失败:
1. 错误的重定向地址。
2. 重现向或链接的IP为美国或不存在的IP。
GET /boxlist/1/small_20110827020002.zip HTTP/1.1
Host: downlist.baofeng.net
Accept:*/*
User-Agent: Mozilla/4.0
Connection: Keep-Alive
Cache-Control: no-cache

IP地址: 159.161.112.114 来 自: 美国
233.120.192.210 未知IP
这两个IP都无法下载samll包数据。重定向这个偶尔会下载不了:
False + 0.531 0.017 s GET 302 238 text/html http://downlist.baofeng.net/boxlist/1/small_20110827020002.zip http://124.193.109.38/proxy/downlist.baofeng.net/boxlist/1/small_20110827020002.zip#ickey=1&t=1314437412
详细如图:
[img]http://dl.iteye.com/upload/attachment/546386/6fd551cc-d23d-302d-9fdf-d6ec5166a350.jpg[/img]

[img]http://dl.iteye.com/upload/attachment/546388/7826f3b6-ceac-3112-9784-ba5bb9f34ddd.jpg[/img]

---------------------------------------------------------------------------------------
简单描述一下运营商的网络通信模型:

[img]http://dl.iteye.com/upload/attachment/546392/7ad1702d-c026-367e-bf3b-2402aea5436f.png[/img]

上述模型在通信中是没有问题,作为小运营商主要是充当一个代理转发的工作,架构简单,通信比较流畅,只要带宽没有瓶颈,基本只需要少量的服务器的硬件实施就可以完成了这个标准的网间通信。
但是,有个名词叫“网间流量”,小运营商的带宽计费模型是通过网间流量进行计费,也就是向后端网络请求的带宽量越高,那么本月的网间流量成本也就越多。
为了有效的解决及降低网间流量的成本,就有了节省流量的网间通讯模型。如下:


[img]http://dl.iteye.com/upload/attachment/546394/a81624af-fcd6-38b8-88d2-37c26411fc93.png[/img]

上述通信模型能够极大的降低网间通信的流量成本,但是无故增加了几次本不该出现的请求(上述1-6的请求、响应模型)

对于我们的下载URL,在原本脆弱的中国互联网实施上,又无故添加了几次失败的折损。
1) Request请求分析(错误可能:IP分配或解析错误)
2) 302请求的跳转(错误可能:跳转的URL被截断,URL地址不正确等)

在调试代码中发现的问题基本上就是上述节省流量网间通信的真正问题。
URL:http://124.193.109.38/proxy/downlist.baofeng.net/boxlist/1/small_20110827020002.zip#ickey=1&t=1314437412
这是标准的转向mirror 的下载请求URL。

[img]http://dl.iteye.com/upload/attachment/546396/950c370a-987a-3c31-a281-ff0911ee001a.png[/img]

如何解决,我想这是大家最关心的问题:
解决办法其实比较简单,因为了解运营商的网间流量判定规则,其实就很容易解决问题了。我们的客户端HTTP请求中本身没有contentType字段,所以只需要在请求URL的文件后缀名上做文章就可以,运营商一般不敢截取的是JSP,PHP等文件后缀,否则运营商会被投诉的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值